web-dev-qa-db-fra.com

Retour à la révision dans Subversion

supposons que vous mettez à jour votre code vers la révision 10 qui est cassée. Vous voulez revenir à la révision 9, travailler sur le code et attendre que quelqu'un corrige la construction:

svn merge -rHEAD:9 .

Mais ça ne marchera pas, pourquoi?

46
Etam

Si vous souhaitez simplement revenir à une autre révision, update est ce que vous recherchez:

svn update -r 9

Vous pouvez travailler sur le code mais vous ne pouvez pas valider les modifications. Eh bien, si la révision 10 n'a pas changé le même fichier que vous avez changé, vous pouvez valider mais il vaut mieux attendre que la révision 10 soit corrigée.

Au lieu de cela, si vous souhaitez continuer et travailler sur le code, vous pouvez envisager de créer une branche à partir de la révision 9, de continuer dans la branche et de réintégrer la branche dans le tronc lorsque la révision 10 est corrigée.

112
Simone Carletti

Si vous ne voulez vraiment pas revenir en arrière à l'aide de la commande de fusion, vous pouvez toujours simplement extraire une version précédente en passant l'option -r à la caisse.

svn checkout http://yoursite/svn -r 9

Lorsque quelqu'un corrige la révision 10 et valide 11, vous pouvez mettre à jour normalement et fusionner vos modifications à partir de votre copie locale de r9. Résolvez simplement les conflits normalement, puis validez 12.

3
Zachary Murray

Le mieux est de créer une branche à partir de la révision 9 et de continuer à travailler sur cette branche. Lorsque vous êtes certain que le tronc est prêt pour vos modifications (c'est-à-dire qu'il est fixe), fusionnez à nouveau votre branche.

2
Adam Batkin

svn update -r version-number, cette méthode fonctionne bien pour moi, car je devais y retourner. mais n'oubliez pas de vous engager à des changements pour vous en assurer. D'accord

1
user3228022