2009-10-23 6 views
36

Dans mon référentiel, j'ai deux révisions. Le code src est sur la révision 2, mais j'ai eu un fichier qui a foiré, donc je l'ai retourné à la révision 1.Comment réparer ce commit SVN qui échoue comme "obsolète"?

Après quelques heures de débogage, ce javafile fonctionne, mais je ne peux pas le commettre. SVN dit que le javafile est obsolète. C'est probablement parce que je suis en train d'éditer javafile.java rev1, non?

Comment résoudre ce problème? Je sais que je peux copier/coller mon code javafile rev1 modifié dans son homologue rev2, puis valider, mais existe-t-il un autre moyen? Est-ce que j'utilise SVN incorrectement?

+1

Notez que ceci est couvert dans les sections "utilisation basique" du livre SVN: http://svnbook.red-bean.com/fr/ 1.7/svn.tour.cycle.html # svn.tour.cycle.resolve – Ben

Répondre

59

La mise à jour de la copie de travail doit être corrigée.

Depuis la ligne de commande:

X:\WorkingCopy>svn up 

ou faites un clic droit et choisissez SVN Update... dans TortoiseSVN

Lorsque vous mettez à jour, vous pouvez rencontrer des conflits, qui sera marqué dans votre code avec

>>>>> 
... 
----- 
... 
<<<<< 

Vous devrez les résoudre manuellement. Lorsque vous avez terminé, n'oubliez pas de marquer le fichier comme résolu.

X:\WorkingCopy>svn resolve \path\to\file 

ou faites un clic droit et choisissez TortoiseSVN -> Mark as Resolved... dans TortoiseSVN

+2

Mais que se passe-t-il si j'ai modifié certaines méthodes, je vais avoir des erreurs de conflits non? Comment pourrais-je résoudre cela? :( – lemon

+0

Les conflits signifient que vous et quelqu'un d'autre avez apporté des modifications au même code.Vous verrez les marqueurs >>>>>> --------- et <<<<<< dans votre code source Maintenant, ils vous montrent les différentes versions du code.Vous devrez trier avec les autres développeurs quel code est le bon –

+2

Vous pouvez éviter des conflits importants et douloureux en suivant le conseil suivant: 'Commencer tôt, commettre souvent ' –

4

Mettez à jour votre copie de travail et résoudre les conflits de fusion en copiant le fichier résultant qui a votre version modifiée localement sur la version avec des marqueurs de conflit dans. Exécutez svn resolved dessus, et vérifiez cela. Cela suppose qu'il n'y a pas d'autres modifications que vous souhaitez conserver.

6

J'ai eu ce problème dans Eclipse (Windows 10). Il a été résolu en faisant un clic droit sur le dossier en question> Team> Update to HEAD

Questions connexes