Déplacement de plusieurs fichiers dans TFS Source Control

172

J'utilise Team Foundation Server 2008 (SP 1) et je dois déplacer plusieurs fichiers d'un dossier à un autre (pour conserver l'historique des fichiers). En plus de Team Explorer (avec SP 1), j'ai également installé les derniers outils d'alimentation TFS (octobre 2008) (pour l'intégration Windows Shell).

Maintenant, le problème est que je n'arrive pas à sélectionner et déplacer plusieurs fichiers via le shell ou la fenêtre Explorateur de contrôle de source. Je peux déplacer des fichiers individuels (par un clic droit + "Déplacer") et je peux déplacer des dossiers entiers (même opération) mais lorsque je sélectionne plusieurs fichiers (dans un dossier), l'élément de contexte "Déplacer" est grisé / désactivé.

Est-ce que quelqu'un sait si cela est possible .. et sinon .. pourquoi pas !?

Quelqu'un peut-il suggérer une solution de contournement qui n'est pas trop compliquée?

Veuillez voter ici: https://connect.microsoft.com/VisualStudio/feedback/details/715041/support-moving-multiple-files-in-tfs-source-control-explorer et ici http: //visualstudio.uservoice. com / forums / 121579-visual-studio / suggestions / 2271540-autoriser-de-déplacer-plus d'un-fichier-à-la-fois-dans-tfs-so

entrez la description de l'image ici

entrez la description de l'image ici

RobS
la source

Réponses:

144

Utilisez l'outil tf.exe de la ligne de commande Visual studio - il peut gérer les caractères génériques:

tf.exe move <olditem> <newitem>

Exemple:

tf.exe move "$/My Project/V*" "$/My Project/Archive"

[EDIT] Comme indiqué dans les commentaires: move est un alias pour renommer. Les deux commandes déplacent l'historique.

Kurt Schelfthout
la source
7
Cette autre réponse est la meilleure ici. Le moveparamètre n'est pas documenté et ne déplace pas l'historique, tandis que le renameparamètre de l'autre réponse est documenté et déplace également l'historique.
Alex Angas
12
Pour mémoire, il semble que dans TFS 2010 la commande de déplacement effectue un changement de nom qui déplace l'historique.
John Bledsoe
10
à partir de l'aide TF.EXE: Vous pouvez utiliser la commande renommer ou l'alias move, pour déplacer un fichier ou un dossier vers un nouvel emplacement. alors déplacer et renommer sont exactement la même chose.
Mickey Perlstein
1
autre chose, exécutez-le à partir du chemin mappé, en utilisant la ligne de commande pour Visual Studio. sinon, il ne connaît pas l'espace de travail et vous offre un moyen (inutile) de savoir quels espaces de travail vous avez (et puis quoi ?? rien .. - alors exécutez-le à partir du répertoire mappé, et tout ira bien (travaillé pour moi)
Mickey Perlstein
Il fonctionne également avec des chemins relatifs. cddans le dossier dans lequel vous souhaitez déplacer les fichiers et dites tf move V* Archive.
nalply
56

Utilisez renommer au lieu de déplacer

tf.exe rename "$/PROJECT/SharedLibs/Log4Net/*.*" "$/PROJECT/SharedLibs/3rdParty/"
tf.exe rename "$/PROJECT/SharedLibs/ZipLib/*.*" "$/PROJECT/SharedLibs/3rdParty/"

Consultez la documentation d'aide: Référence de ligne de commande TFS

Titwan
la source
Le lien ci-dessus lance un HTTP500; au cas où il reste en panne, voici la référence de ligne de commande TFS de MSDN: msdn.microsoft.com/en-us/library/z51z7zy0.aspx
Joisey Mike
12
moveest juste un alias pour rename, donc peu importe ce que vous utilisez
Jeff Olson
J'utilise le contrôle de source TFS de mon Visual Studio Online, par exemple namgivu.visualstudio.com . Et la liste de l'espace de travail en appelant tf workspacesn'a pas l'entrée pour mon mappage de référentiel.
Nam G VU
"Impossible de renommer $ / X / Y / Z lorsqu'un mappage de dossier de travail lui est attribué." Aussi; Les caractères génériques *. * Ne sont plus autorisés.
Christian le
"Vous ne pouvez pas spécifier de caractère générique comme source si la cible n'est pas un dossier dans le contrôle de code source." Je ne sais pas ce que ça veut dire. Déplacez-le simplement vers le nom que je désigne.
Christian le
39

Holan Jan a écrit une extension Visual Studio qui fournit un «déplacement» pour plusieurs fichiers dans l'explorateur de contrôle de source (c'est-à-dire en utilisant une interface graphique) Fonctionne un régal, prend également en charge les versions récentes.

pour VS2019: https://marketplace.visualstudio.com/items?itemName=HolanJan.TFSSourceControlExplorerExtension-2019

pour VS2017: https://marketplace.visualstudio.com/items?itemName=HolanJan.TFSSourceControlExplorerExtension-18397

pour VS2015: https://marketplace.visualstudio.com/items?itemName=HolanJan.TFSSourceControlExplorerExtension-13343

pour VS2013: https://marketplace.visualstudio.com/items?itemName=HolanJan.TFSSourceControlExplorerExtension-11508

pour VS2012: https://marketplace.visualstudio.com/items?itemName=HolanJan.TFSSourceControlExplorerExtension-8896

Sous le capot, il utilise les mêmes commandes que celles mentionnées ci-dessus, mais c'est juste un peu plus convivial à utiliser. Chacune des versions répertoriées nécessite la version RTM de Visual Studio.

Sid James
la source
Excellent! C'est la seule chose qui a fonctionné pour moi, en utilisant VS2010: visualstudiogallery.msdn.microsoft.com
Ian Campbell
Cette extension est fantastique - elle permet toute une série de fonctionnalités supplémentaires dans l'explorateur de contrôle de source, dont le déplacement de plusieurs fichiers à la fois n'est qu'une seule pièce. Je le recommande vivement.
SqlRyan
Voilà la réponse. Merci!
Frank Silano
-9

Collez tous les fichiers que vous souhaitez déplacer, sous un dossier, puis déplacez ce dossier.

Merrick Chaffer
la source