2010-07-01 7 views
11

Supposons que je suis à la révision 50. Mais, je veux revenir à la révision 45, et de revenir en version stable.Comment revenir à une validation SVN précédente?

Comment faire, de la manière la plus simple?

  1. Et si je veux faire ça avec un fichier?
  2. Et si je veux faire ça avec tout le dépôt?
+0

double possible de [Revert un dossier svn à une révision précédente] (http://stackoverflow.com/questions/2324999/revert-a-svn-folder-to-a- précédente-révision). Notez que svn ne se soucie pas si la cible est un fichier, un dossier ou la racine du référentiel. – sbi

Répondre

23

Je Je ne suis pas sûr de ce que vous entendez par "commettre comme la version stable", mais en fonction de ce que vous essayez d'accomplir, je recommande:

svn update -r45
Cela rebasage votre copie de travail à la révision 45.

ou:

svn fusion -c -50, -49, -48, -47, -46
Cela va mettre à jour (en fusionnant) votre copie de travail en supprimant tous les changements entre 45 et 50. Maintenant, si vous faites des changements et des commit, ce sera comme si vous aviez supprimé 46-50 du référentiel et fait la révision HEAD (51?) Être r45 + votre changement.

+0

pour la version précédente, svn update -r PREV – diewland

4

Reverse merge les révisions que vous souhaitez annuler. Cela peut être fait sur un ou plusieurs fichiers. En fusionnant à l'envers, votre copie de travail passe à l'état sans cette révision, que vous pouvez ensuite valider.

-2

Je pense que d'une façon simple devrait être le suivant:

  • révision de la caisse 45 dans un répertoire temporaire
  • copier un ou alle fichiers dans votre répertoire de travail
  • commettras
+0

Voir "Pourquoi ne pas utiliser les correctifs à la place?" dans le [livre SVN] (http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.branchemerge.basicmerging.stayinsync) pourquoi vous devriez éviter la fusion manuelle. – sbi

+0

Merci pour l'indice! – splash

0

Vous pouvez simplement faire une mise à jour à la révision en utilisant

svn up -r 45 

Mais cela ne vous laisser engager les changements que SVN besoin de vous mettre à jour votre copie de travail à la tête avant de pouvoir engager. Qu'est-ce que vous pouvez faire est la place

svn merge -r HEAD:45 yourFile 
svn ci yourFile -m "Reverting back to rev 45" 
Questions connexes