Kan helemaal niet verbinden met Subversive Eclipse; kan een heel project hebben gedaan

Ik heb vreselijke problemen met SVN in Eclipse Indigo met mijn Java-project.

Ik ben geen hobby, geen professionele programmeur, maar ik heb gehoord hoe belangrijk versiebeheersystemen zijn voor serieuze projecten en vond dat het tijd werd om er een te leren gebruiken.

Nu merk ik dat ik me niet kan binden, ongeacht wat ik probeer. Ik krijg verschillende fouten, afhankelijk van wat ik doe.

I suspect the problem was caused by my checking the "Persist project refactoring history in project folder instead of workspace" box in Project > Properties > Refactoring History, but I am not sure. But since I did that, I got an error saying "svn: Path '.settings' not present" error. I tried again,unchecking the box for .settings/org.eclipse.ltk.core.refactoring.prefs. This time I got a different error upon an attempted commit, "Path 'gamecore' not present". ('gamecore' is a root-level package in the project, where I'm putting most classes until they can be moved somewhere more appropriate.)

Ik probeerde verschillende permutaties van gehannes met de projectvoorkeuren die ik had veranderd en het verwijderen van sommige bestanden bij pogingen tot commits. Alles is mislukt.

Uit wanhoop sneed ik n 'in de bronbestanden die ik had veranderd in een tekstbestand, keerde terug naar mijn vorige versie en knipte vervolgens' n 'in de nieuwe versies boven de oude. Deze keer kreeg ik 'svn: File'/Space Game/.refactorings 'is verouderd'.

Dus ik ben in een positie waar ik, ongeacht wat ik doe, niet kan committeren. Op dit punt overweeg ik om de hele repository te expunderen en te importeren vanuit mijn werkruimte (iets wat ik deed toen ik per ongeluk het project eerder had verwijderd, denkend dat er een duplicaat in de repository was).

Ik heb op het web gezocht naar de fouten die ik heb gehad en alle threads die ik heb gevonden lijken veel meer kennis van versiebeheer te hebben dan ik. De meeste bevatten bash-shell-commando's, waar ik geen toegang tot heb.

Mijn vragen zijn: 1) Is dit de beste manier van handelen? 2) Is er nog een minder drastische manier om te herstellen? 3) Hoe voorkom ik dat deze fout terugkeert?

Ik gebruik Eclipse Indigo met Subversive SVN Connectors 2.2.2, Subversive SVN Team Provider 0.7.9 en SVNKit 1.3.5 Implementation 2.2.2.

1

1 antwoord

Dit gebeurde omdat je de metadata van je eclips controleerde in bronbesturing en vervolgens verplaatst door die instellingen te veranderen.

  1. So first do an update to get the meta files back. If you watch the svn console youl see something like: Restoring FILENAME
  2. After you have them back and assuming your project is still set to put the meta data in a separate folder then you can do an svn delete on them and commit the deletions.
  3. Set up an svn:ignore on all eclipse metadata ie:
    • .project
    • .settings
    • .buildpath
    • .refactorings

Als ik jou was, zou ik de eclips sluiten en dit allemaal doen vanaf de opdrachtregel, zodat het niet in de war raakt:

cd /path/to/project/root
svn up
svn rm .project .settings .buildpath .refactorings
svn commit .project .settings .buildpath .refactorings -m "Deleting eclipse metadata."
svn propedit svn:ignore .
# this will open an editor ignored files are one per line  so your file should look like
# the following without the "#" signs
#
# .project
# .settings
# .buildpath
# .refactorings

svn commit . -m "Adding ignores to eclipse metadata files."
1
toegevoegd
Dus je kunt geen aparte svn-client installeren - command line of anders? (Ter informatie, u kunt de opdrachtregelclient ook vanuit vensters gebruiken, maar gebruik cmd.exe of powershell).
toegevoegd de auteur prodigitalson, de bron
Zorg ervoor dat u dezelfde versie gebruikt als Subversive, zodat de werkkopie-indelingen hetzelfde zijn. U zou hierover meer informatie moeten kunnen krijgen in het voorkeurenmenu (hoewel u vermoedt dat ze 1.7 gebruiken). Anders dan dat, is er geen vermenging tussen Subversive (of Subclipse) en externe clients. Ze gebruiken SVNKit of JavaHL zodat ze niet afhankelijk zijn van clientbibliotheken die ze elders hebben geïnstalleerd.
toegevoegd de auteur prodigitalson, de bron
Nou dat is de manier waarop de directory werd genoemd volgens alle details die je hebt gepost. Heb je de map op enig moment hernoemd?
toegevoegd de auteur prodigitalson, de bron
Oké, zorg ervoor dat je die ignores op de bovenste projectmap plaatst en importeer de bestanden die ik noemde om te beginnen niet :-)
toegevoegd de auteur prodigitalson, de bron
Bedankt voor uw snelle en volledige antwoord. Ik heb geen toegang tot een svn-opdrachtregel, maar je betekenis is duidelijk genoeg. Een poging om een ​​update uit te voeren heeft echter de fout opgeleverd "svn: Target path '/ Space Game' bestaat niet." (Wat het heel erg doet.)
toegevoegd de auteur Devin Carless, de bron
Ik heb cmd.exe gebruikt, maar kon geen uitvoerbare bestanden met de naam svn vinden via Windows zoeken. Ik was terughoudend om een ​​aparte commandoregel te installeren vanwege mogelijke versieconflicten en andere complicaties, maar ik denk dat ik het zal proberen. Zoals het is, kan het niet veel slechter worden.
toegevoegd de auteur Devin Carless, de bron
Ik gebruik SVN 1.6, volgens Eclipse, dus dat heb ik geïnstalleerd koppelen . De opdrachtregel kon de repository echter niet openen; om een ​​of andere reden heeft het spaties ingevoegd in de projectnaam (dus SpaceGame werd Space Game.)
toegevoegd de auteur Devin Carless, de bron
Nee. Ik merkte de vreemde ruimte op in mijn eerste antwoord en sinds ik SVN nog nooit heb gebruikt, nam ik aan dat het slechts een eigenaardigheid was. Ik ga nu echter naar Tortise SVN. Ik kan het hele ding gewoon van de bron opnieuw opbouwen. Ik heb niet te veel tijd gestopt in het project, dus ik verlies niet veel revisies.
toegevoegd de auteur Devin Carless, de bron