web-dev-qa-db-fra.com

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

Je souhaite déplacer un fichier ou un dossier d'un endroit à un autre dans le même référentiel sans avoir à utiliser Repo Browser pour le faire, et sans créer deux opérations indépendantes d'ajout/suppression. L'utilisation de Repo Browser fonctionne correctement, à l'exception du fait que votre code sera suspendu jusqu'à ce que toutes les modifications associées soient archivées (comme le fichier .csproj, par exemple).

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

243
jeremcc

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

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

439
Mark Embling

svn move - Déplace un fichier ou un répertoire.

http://svnbook.red-bean.com/fr/1.0/re18.html

60
StocksR

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

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

22
yknott
6
user7070

Si vous voulez déplacer des fichiers et maintenir les fichiers csproj à jour, le moyen le plus simple consiste à utiliser un plugin Visual Studio tel que AnkhSVN . Cela engagera automatiquement l'action de déplacement (en tant que suppression/ajout avec l'historique, car c'est ainsi que fonctionne Subversion) et un changement dans le fichier .csproj.

5
Sander Rijken

À partir de la ligne de commande, vous pouvez taper svn mv path1 path2. Cela créera une opération d'ajout et une opération de suppression, mais il n'y a pas vraiment de solution - pour autant que je sache - dans Subversion.

4

Subversion ne dispose pas encore d'opérations de renommage de première classe.

Il y a un bug de 6 ans sur le problème: http://Subversion.tigris.org/issues/show_bug.cgi?id=898

Il est envisagé pour la version 1.6, maintenant que le suivi de fusion (une priorité plus élevée) a été ajouté (dans la version 1.5).

3
swmc

Utilisez la commande RENAME de Tortoise et entrez un chemin relatif ("folder/file.ext").

1
WhyNotHugo

Utilisez la commande svn move pour déplacer un fichier/dossier.

0
acemtp

Comme mentionné précédemment, vous allez créer les commandes d'ajout et de suppression. Vous pouvez utiliser svn move à la fois 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 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.

0
dwilkins

Vous devez faire glisser le fichier en utilisant le bouton droit de la souris. Dès que vous relâchez le fichier vers la nouvelle destination, vous observerez l'option:

SVN déplace les fichiers versionnés ici.

Il suffit de sélectionner cette option et vous avez terminé!

0
Manish Singhal