Comment "restaurer" un dossier Supprimé dans Subversion / TortoiseSVN?
Nous avons accidentellement supprimé le dossier 'tags' de notre dépôt Subversion où nous avions seulement l'intention de supprimer une balise spécifique. Quel est le moyen le plus simple de récupérer le dossier 'tags'?
Nous utilisons TortoiseSVN comme client et je pensais que lorsque je vais dans le navigateur repo et afficher le journal, il y aura quelque chose comme "annuler les modifications de cette révision" de la même manière que ce que vous pouvez voir dans une boîte de dialogue similaire sur votre copie de travail. Mais il n'y a pas une telle commande...
6 réponses
Copiez simplement le dossier Supprimé d'une révision antérieure.
Dans le navigateur du référentiel, cliquez sur le bouton intitulé HEAD (dans le coin supérieur droit) pour afficher à une révision votre dossier existe toujours, puis cliquez avec le bouton droit sur ce dossier et sélectionnez "Copier vers..."et entrez le chemin là, vous voulez que le dossier soit recréé (probablement le même chemin qui est déjà dans la zone de texte).
Pour les amateurs de ligne de commande:
-
Trouvez D'abord le numéro de révision où votre suppression s'est produite:
svn log -v http://svnserver/path/to/folderContainingDeletedFolder
Disons 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 SVN repo)
-
Copiez 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 fonctionneront dans une certaine mesure, mais la bonne réponse est celle de Daniel. faites une fusion inverse. De cette façon, vous gardez l'historique des versions.
svn merge -r R1:R2
Où R1 est la révision à laquelle vous vous trouvez, et R2 est la révision qui contient le fichier/dossier Supprimé.
Goto Repository Browser
votre repository
, cliquez-droit sur le dossier parent où votre dossier supprimé existé. Maintenant, Show Log
du dossier parent, et sélectionnez la révision précédente où vous avez validé l'opération de suppression. Vous aurez une liste et faites un clic droit sur le dossier à partir des informations de révision et sélectionnez Update to this Revision
.
Vous avez terminé
Suite à la réponse de raudi qui a fonctionné pour moi après cette révision.
Certains clients svn peuvent avoir besoin du numéro de révision spécifié en utilisant le 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"