96 votes

Comment "undelete" un dossier supprimé dans Subversion / TortoiseSVN?

Nous avons accidentellement supprimé des "tags" dossier à partir de notre dépôt Subversion, où l'on ne vise qu'à supprimer une balise spécifique. Quelle est la façon la plus simple pour obtenir les "tags" de retour au dossier?

Nous utiliser TortoiseSVN en tant que client et j'ai pensé que lorsque je vais dans l'explorateur de dépôt et d'afficher le journal, il y aura quelque chose comme "annuler les changements de cette révision" de la même façon à ce que vous pouvez voir dans une boîte de dialogue similaire sur votre copie de travail. Mais il n'existe pas de commande...

113voto

Mikael Sundberg Points 1949

Il suffit de copier le dossier supprimé arrière à partir d'une version antérieure.

Dans l'explorateur de Dépôt, cliquez sur le bouton marqué de la TÊTE (en haut à droite), pour le montrer à une révision il y a votre dossier existe toujours, puis cliquez-droit sur le dossier et sélectionnez "Copier vers..." et entrez le chemin d'accès, il vous souhaitez que le dossier sera re-créé (probablement le même chemin qui est déjà dans la zone de texte).

76voto

raudi Points 680

pour la ligne de commande les amateurs:

  • d'abord trouver le numéro de révision où votre supprimer qui s'est passé:

    svn log -v http://svnserver/path/to/folderContainingDeletedFolder
    

dire que vous trouvez que le répertoire a été supprimé dans la révision 999 (btw: vous trouverez peut-être plus facile de trouver le numéro de révision avec le repo svn navigateur)

  • copier le dossier de révision moins 1

    svn copy http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder@998 http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder -m "undeleted folder"
    

voilà, vous avez terminé!

dans votre cas, ce pourrait être:

    svn copy http://svnserver/project/tags@998 http://svnserver/project/tags -m "undeleted folder"

11voto

Miles Points 1

La plupart de ces réponses ont un degré, mais la bonne réponse est celle de Daniel. Faire une inversion de fusion. De cette façon, vous conservez l'historique des versions.

svn merge -r R1:R2

où R1 est la révision que vous en êtes, et R2 est de la révision qui contient le fichier supprimé/le dossier.

8voto

Daniel Points 3893

Vous aurez besoin de faire une dé-fusion.

Pour plus de détails sur la façon de faire (et de n'importe quoi d'autre que vous aurait jamais envie ou besoin de le faire avec SVN), le livre officiel est disponible en ligne.

2voto

Abdul Munim Points 9039

Goto Repository Browser de votre repository, cliquez-droit sur le dossier parent où votre dossier supprimé existé. Maintenant, Show Log le dossier parent, puis sélectionnez la révision précédente où vous avez commis l'opération de suppression. Vous aurez une liste de droite et cliquez sur le dossier de la révision informations et sélectionnez Update to this Revision.

Vous avez terminé

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X