2009-07-10 15 views
11

Lorsque j'ai plusieurs conflits, y a-t-il un moyen de les résoudre tous en disant SVN de garder la version qui est dans le référentiel? Malheureusement, nous utilisons encore 1.4.Subversion résout tous les conflits rapidement

+3

Pourquoi voudriez-vous faire cela? disons que vous avez fait un changement de ligne de 200 et que quelqu'un a vérifié dans un fichier juste devant vous qui a simplement ajouté quelques commentaires, provoquant un conflit. Allez-vous simplement jeter votre changement de 200 lignes pour ça? –

+3

c'est un cas où je sais que tous les changements dans une copie de travail sont indésirables, et que vous voulez utiliser la version de repos. – nategood

Répondre

29

Je crois que si vous exécutez la commande svn revert . -R, vous annulez fondamentalement tous les changements à votre copie de travail. S'il y a des fichiers en conflit, SVN lance vos modifications et utilise la révision à laquelle vous avez mis à jour récemment.

Bien sûr, cela supprime également les modifications apportées aux fichiers qui ne sont pas en conflit.

+1

SVN lance vos modifications et utilise la version que vous avez initialement retirée; Vous devez toujours effectuer une mise à jour svn pour obtenir la version HEAD actuelle du référentiel. –

+0

@Roger: mais si vous avez des fichiers en conflit, alors vous avez lancé svn up. C'est la version que svn a retirée du dépôt que svn retourne à (sauf si cela a changé, je l'ai testé avec 1.6.3). –

+0

clarifié ma réponse en conséquence :) –

5

svn mise à jour. --accept theirs-full

Ou n'est-ce pas disponible dans svn 1.4?

Vous pouvez essayer d'exécuter le client 1.5 sur un serveur 1.4, cela pourrait fonctionner.

+0

J'ai couru un client 1.5 avec un serveur 1.4 pendant un moment. Dans la plupart des cas, cela fonctionne bien, mais vous perdez le suivi automatique de fusion, d'une part. Voir les "problèmes de compatibilité" dans les notes de version 1.5 (http://subversion.tigris.org/svn_1.5_releasenotes.html). –

0

Vous pouvez

svn st | awk '/^C/ { print $2 }' | xargs svn revert 

ce annule tous les fichiers avec les conflits