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.
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.
Show All
ou Next 100
pour montrer les révisions qui vous intéressent.Context Menu
→ Revert
change par rapport à cette révision.Context Menu
→ Revert 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.
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:
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.
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.
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.
Effectuez un commit.
Faites un clic droit sur le dossier sous contrôle SVN, allez à TortoiseSVN → Afficher le journal. Écrivez la révision à laquelle vous voulez revenir puis allez à TortoiseSVN → Mise à jour en révision ....
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.
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.
Dans le menu contextuel TortoiseSVN, sélectionnez 'Update to Revision', entrez le numéro de révision souhaité, et voilà :)