J'ai deux copies de travail d'un référentiel Subversion, l'une du tronc et une d'une branche que j'ai créée.
J'ai accidentellement supprimé la branche dans un navigateur de référentiel. Comment restaurer la branche? Existe-t-il un moyen d'annuler la validation la plus récente pour l'ensemble du référentiel?
Utilisation:
svn cp [path to deleted branch]@[revision before delete] [new path]
Par exemple:
svn cp svn://myrepo.com/svn/branches/2.0.5@1993 \
svn://myrepo.com/svn/branches/2.0.5_restored
Où 1993 est la révision avant la suppression ...
Ici est une bonne documentation ...
Il doit y avoir un moyen d'échapper au @
symbole dans le nom d'utilisateur ...
Voici une solution si vous utilisez TortoiseSVN:
En supposant que votre dernière révision était de 108:
svn merge --revision 108:107
svn diff
svn commit -m "Reverted revision 108"
Vous pouvez également ajouter votre URL source à la fusion:
svn merge --revision 108:107 http://svn/repo/
Ailleurs sur le débordement de la pile: Annulation d'une validation dans TortoiseSVN
J'ai rencontré ce problème, mais la commande ci-dessus n'a pas fonctionné pour moi. Ce qui a été beaucoup plus facile. J'ai vérifié la branche lors d'une révision avant de la supprimer.
La révision qui a été supprimée était 9331. Je l'ai vérifiée à 9330:
svn co https://svn.acme.com/svn/giantFlySwatterTargetingSystem/branches/bug1234@9330 restored
C'était la solution facile que je voulais.
Cela a fonctionné pour moi,
svn cp --username your_user_name https: // path_to_your_repo /branches/ supprimé_nom_branchée @ last_revision_before_deletion https: // path_to_your_repo /branches/ nouveau_nom_pour_branch
Alternativement, si c'était un seul commit qui a supprimé la branche:
Annulez la validation, puis validez
svn merge -c -REV .
svn commit -m "Reverting deletion of branch XYZ"
J'ai rencontré le même problème et l'ai résolu de cette façon dans SmartSVN (Enterprise 6.0.2):