2010-08-06 5 views
1

J'ai fusionné ma caisse de la révision HEAD jusqu'à la révision 1000:SVN: Comment annuler une reverse-fusion?

$ svn merge -rHEAD:1000 . 
--- Reverse-merging r2000 through r1001 into '.': 
U dir/foo.txt 

Après cela, je voudrais le défaire et de fusionner jusqu'à la révision HEAD. Mon checkout devrait être à la révision 1000 maintenant, donc je dois fusionner tout de 1000 à HEAD. Mais svn ne fait rien:

$ svn merge -r1000:HEAD . 

Hmm, ou juste un retour?

$ svn revert . 

Il est tout simplement calme et ne met pas à jour foo.txt à la révision HEAD. Comment dois-je le faire?

Répondre

1

Faites-récursivement,

svn revert -R . 

Ou revenir seulement changé fichier

svn revert dir/foo.txt 
+0

Très bien, merci! Et quelqu'un sait-il pourquoi 'svn merge -r1000: HEAD. 'N'a pas fonctionné? – Frank

+0

Je devine ici, mais probablement parce que svn reconnaît que 'HEAD' était déjà la dernière révision de l'entité, qui a déjà passé toutes les révisions entre' REV' et 'HEAD' (bien, c'est en fait' WORKING', comme vous avez eu des modifications locales), donc il a décidé qu'aucune modification n'était requise. En réalité, il ne «remet pas en place une révision», il applique les différences opposées à ces révisions, ce qui est considéré comme une «nouvelle modification». J'ai vérifié: vérifier la révision N et ensuite faire un 'svn merge -rN: HEAD', alors cela fonctionne (comme dans: il va appliquer tous les diffs, une mise à jour de' HEAD' entraîne des conflits même s'ils sont égaux – Wrikken

Questions connexes