Question

Nous avons accidentellement supprimé le dossier « tags » de notre dépôt Subversion où nous ne l'intention de supprimer une étiquette spécifique. Quelle est la meilleure façon de récupérer le dossier « tags »?

Nous utilisons TortoiseSVN comme notre client et je pensais que quand je vais au navigateur de repo et de montrer journal, il y aura quelque chose comme « revenir sur des changements de cette révision » de façon similaire à ce que vous pouvez voir dans une boîte de dialogue similaire sur votre copie de travail . Mais il n'y a pas de commande là ...

Était-ce utile?

La solution

Il suffit de copier le dossier supprimé retour d'une révision antérieure.

Dans le navigateur de référentiel, cliquez sur le bouton intitulé HEAD (dans le coin supérieur droit) pour montrer à une révision il votre dossier existe toujours, puis faites un clic droit et sélectionnez ce dossier « Copier vers ... » et entrez le sentier vous voulez que le dossier à recréée (probablement le même chemin qui est déjà dans la zone de texte).

Autres conseils

pour les amateurs de ligne de commande:

  • d'abord trouver le numéro de révision où votre suppression est arrivé:

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

dites 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 navigateur repo svn)

  • copier le dossier de la 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 cela pourrait être:

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

La plupart de ces réponses nous emploierons à un degré, mais la bonne réponse est Daniel. Faites une fusion inverse. De cette façon, vous garder l'historique des versions.

svn merge -r R1:R2

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

Vous devez faire une fusion inverse .

Pour plus de détails sur la façon de le faire (et à peu près tout ce que vous voulez jamais ou besoin de faire avec SVN), le livre officiel est disponible en ligne .

À la suite de la réponse de raudi qui a fonctionné pour moi après cette révision.

Certains clients svn pourraient avoir besoin du numéro de révision spécifié à l'aide du paramètre de révision -r au lieu d'utiliser @ après le dossier comme suit:

svn copy svn://svnserver/project/tags svn://svnserver/project/tags **-r 998** -m "undeleted folder"

Aller à Repository Browser de votre repository, faites un clic droit sur le dossier parent où votre dossier supprimé existait. Maintenant, Show Log du dossier parent et sélectionnez la révision précédente où vous avez commis l'opération de suppression. Vous aurez une liste et un clic droit sur le dossier de l'information de révision et sélectionnez Update to this Revision.

Vous avez terminé

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top