Comment déplacer un fichier (ou dossier) d'un dossier à un autre dans TortoiseSVN?

247

Je voudrais déplacer un fichier ou un dossier d'un endroit à un autre dans le même référentiel sans avoir à utiliser le navigateur Repo pour le faire, et sans créer deux opérations indépendantes d'ajout / suppression. L'utilisation du navigateur Repo fonctionne bien, sauf que votre code sera suspendu dans un état cassé jusqu'à ce que vous obteniez les modifications de support archivées par la suite (comme le fichier .csproj par exemple).

Mise à jour: les gens ont suggéré de "déplacer" depuis la ligne de commande. Existe-t-il un équivalent TortoiseSVN?

jeremcc
la source

Réponses:

448

Pour déplacer un fichier ou un ensemble de fichiers à l'aide de Tortoise SVN, faites un clic droit et faites glisser les fichiers cibles vers leur destination et relâchez le bouton droit de la souris. Le menu contextuel aura une SVN move versioned files hereoption.

Notez que le dossier de destination doit avoir déjà été ajouté au référentiel pour que l' SVN move versioned files hereoption apparaisse.

Mark Embling
la source
32
J'avais besoin de faire de même et cela a parfaitement fonctionné. Je n'ai jamais su cette option. Grand merci!
DavGarcia
4
Je vous remercie! Remarque: Ensuite, il montre dans le journal des modifications un tas de fichiers et de répertoires SUPPRIMÉS et AJOUTÉS, mais l'historique des révisions suit les fichiers. :)
Yoh Suzuki
1
Que faire si j'ai déjà déplacé le fichier mais que svn pense toujours que c'est dans un autre répertoire?
Shawn Mclean
4
Vous devez également (certainement dans la v1.7.6) vous assurer que le répertoire dans lequel vous déplacez les fichiers est déjà ajouté subversion
icc97
La réponse légendaire a fait ma journée, ty!
Cyril Gandon
22

Dans l'Explorateur Windows, avec le bouton droit de la souris, cliquez et faites glisser le fichier de l'endroit où il se trouve à l'endroit où vous le souhaitez. Lorsque vous relâchez le bouton droit de la souris, vous verrez un menu contextuel avec des options telles que "Fichier versionné SVN Move ici".

http://tortoisesvn.net/most-forgotten-feature

yknott
la source
5

Si vous souhaitez déplacer des fichiers et garder les fichiers csproj à jour, le moyen le plus simple consiste à utiliser un plug-in Visual Studio comme AnkhSVN . Cela va automatiquement valider à la fois l'action de déplacement (en tant que suppression + ajout avec historique, car c'est ainsi que Subversion fonctionne) et un changement dans le .csproj

Sander Rijken
la source
4

Depuis la ligne de commande, vous pouvez taper svn mv path1 path2. Cela va créer une opération d'ajout et de suppression, mais il n'y a pas vraiment de moyen de contourner cela - à ma connaissance - dans Subversion.

Clinton N. Dreisbach
la source
1

Utilisez la commande RENAME de Tortoise et saisissez un chemin relatif ("dossier / fichier.ext").

WhyNotHugo
la source
0

Comme mentionné précédemment, vous allez créer les commandes d'ajout et de suppression. Vous pouvez utiliser svn move sur votre copie de travail ou sur l'url du référentiel. Si vous utilisez votre copie de travail, les modifications ne seront pas validées - vous devrez les valider dans une opération distincte.

Si vous déplacez une URL, vous devrez fournir un --message, et les modifications seront immédiatement reflétées dans le référentiel.

dwilkins
la source
0

Utilisez la svn movecommande pour déplacer le fichier / dossier.

acemtp
la source
0

Vous devez faire glisser le fichier en utilisant le bouton droit de la souris. Au moment où vous relâchez le fichier vers la nouvelle destination, vous observerez l'option:

SVN déplace les fichiers versionnés ici.

Sélectionnez simplement cette option et vous avez terminé !!

Manish Singhal
la source