web-dev-qa-db-fra.com

Revenir à une révision précédente en utilisant TortoiseSVN

Quel est le moyen le plus simple de restaurer ma copie de travail sur une révision précédente à l'aide de Windows TortoiseSVN ?

Je n'ai trouvé aucune commande "détectable" permettant de le faire rapidement.

56
Ricardo Alamino

Il y a plusieurs façons de le faire. Mais ne vous contentez pas de mettre à jour la révision précédente comme suggéré ici .

La méthode la plus simple pour annuler les modifications d'une révision unique ou d'une plage de révisions consiste à utiliser le dialogue du journal de révision. C'est également la méthode à utiliser si vous souhaitez ignorer les modifications récentes et effectuer une révision antérieure du nouveau HEAD.

  1. Sélectionnez le fichier ou le dossier dans lequel vous devez annuler les modifications. Si vous souhaitez annuler toutes les modifications, il doit s'agir du dossier de niveau supérieur.
  2. Sélectionnez TortoiseSVN → Show Log pour afficher une liste des révisions. Vous devrez peut-être utiliser Show All ou Next 100 pour montrer les révisions qui vous intéressent.
  3. Sélectionnez la révision que vous souhaitez revenir. Si vous souhaitez annuler une série de révisions, sélectionnez la première et maintenez-la enfoncée. Shift en sélectionnant le dernier. Notez que pour les révisions multiples, la plage doit être ininterrompue, sans espace. Faites un clic droit sur la ou les révisions sélectionnées, puis sélectionnez Context MenuRevert change par rapport à cette révision.
  4. Ou, si vous souhaitez appliquer à une révision antérieure la nouvelle révision HEAD, faites un clic droit sur la révision sélectionnée, puis sélectionnez Context MenuRevert to this revision. Cela annulera toutes les modifications après la révision sélectionnée.

Vous avez annulé les modifications dans votre copie de travail. Vérifiez les résultats, puis validez les modifications.

Toutes les solutions sont expliquées dans le " How Do I .. ". une partie de la documentation TortoiseSVN.

109
Stefan

J'ai utilisé les mêmes instructions Stefan utilisées, extraites de site web Tortoise .

Mais il est important de cliquer sur COMMIT juste après . Je devenais fou jusqu'à ce que je m'en rende compte.

Si vous devez créer une révision plus ancienne, votre révision principale procédez comme suit:

  1. Sélectionnez le fichier ou le dossier dans lequel vous devez annuler les modifications. Si vous souhaitez annuler toutes les modifications, il doit s'agir du dossier de niveau supérieur.

  2. Sélectionnez TortoiseSVN → Show Log pour afficher une liste des révisions. Vous devrez peut-être utiliser Afficher tout ou Suivant pour afficher les révisions qui vous intéressent.

  3. Cliquez avec le bouton droit sur la révision sélectionnée, puis sélectionnez Menu contextuel → Revenir à cette révision. Cela annulera toutes les modifications après la révision sélectionnée.

  4. Effectuez un commit.

7
ilans

Faites un clic droit sur le dossier sous contrôle SVN, allez à TortoiseSVNAfficher le journal. Écrivez la révision à laquelle vous voulez revenir puis allez à TortoiseSVNMise à jour en révision ....

Enter image description here

2
Rafael Colucci

La commande Revenir du menu contextuel ignore vos modifications et ramène la copie de travail à son état précédent. Vous pouvez également sélectionner la révision souhaitée autre que la "Tête" lorsque vous "CheckOut" du référentiel.

1
M.Sameer

Voici une autre méthode peu orthodoxe, mais qui fonctionne *.

Je me suis récemment retrouvé dans une situation où j'avais vérifié le code, sachant que je ne pouvais pas le mettre à jour avant que tout le travail d'intégration ait eu lieu (rétrospectivement, c'était une mauvaise décision, mais nous ne l'avons pas fait. s’attendent à être bloqués, mais d’autres projets ont eu la priorité). C'était il y a plusieurs mois et l'intégration est bloquée depuis tout ce temps. Vient ensuite le besoin de changer le code de base et de le mettre en production la semaine dernière sans le changement le plus récent.

Voici ce que nous avons fait:

Après avoir vérifié que la nouvelle exigence ne casse rien lors de l'utilisation de la révision avant mon enregistrement, j'ai créé une copie du répertoire de travail contenant le nouveau code. Ensuite, j'ai supprimé tout ce qui se trouvait dans le répertoire de travail et extrait la révision que je voulais. Ensuite, j'ai supprimé tous les fichiers que je venais d'extraire et les copier dans la copie de travail. Ensuite, j'ai engagé ce changement, éliminant efficacement le dernier changement du référentiel et obtenant le code de production en place en tant que révision principale. Nous disposons toujours du dernier changement, mais ce n’est plus dans la révision principale, nous pouvons donc passer à la production.

* Je ne recommande pas cette méthode, mais si vous vous trouvez dans une situation similaire, c'est une issue qui n'est pas trop pénible.

1
delliottg

Dans le menu contextuel TortoiseSVN, sélectionnez 'Update to Revision', entrez le numéro de révision souhaité, et voilà :)

0
Eric Eijkelenboom