2009-04-21 2 views
154

Ich verwende Team Foundation Server 2008 (SP 1) und muss mehrere Dateien von einem Ordner in einen anderen verschieben (um den Dateiverlauf beizubehalten). Zusätzlich zum Team Explorer (mit SP 1) habe ich auch die neuesten TFS Power Tools (Oktober 2008) installiert (für die Windows Shell-Integration).Verschieben mehrerer Dateien in TFS-Quellcodeverwaltung

Nun ist das Problem, dass ich scheinbar nicht mehrere Dateien über die Shell oder das Quellcode-Explorer-Fenster auswählen und verschieben kann. Ich kann einzelne Dateien verschieben (durch Rechtsklick + "Verschieben") und ich kann ganze Ordner verschieben (gleiche Operation), aber wenn ich mehrere Dateien (in einem Ordner) auswähle, wird das Kontextelement "Verschieben" abgeblendet/deaktiviert.

Weiß jemand, ob das möglich ist .. und wenn nicht .. warum nicht !?

Kann jemand einen Workaround vorschlagen, der nicht übermäßig kompliziert ist?

Bitte stimmen Sie sich hier ein:https://connect.microsoft.com/VisualStudio/feedback/details/715041/support-moving-multiple-files-in-tfs-source-control-explorerund hierhttp://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2271540-allow-to-move-more-than-one-file-at-once-in-tfs-so

enter image description here

enter image description here

Antwort

133

Verwenden Sie das tf.exe Werkzeug aus dem Visual Studio Commandline - es Wildcards umgehen kann:

tf.exe move <olditem> <newitem> 

Beispiel:

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

[EDIT] Wie in den Kommentaren darauf hingewiesen: Bewegung ist ein Alias ​​für Umbenennungs. Beide Befehle verschieben den Verlauf.

+7

Diese [andere Antwort] (http: // stackoverflow.com/questions/770726/moving-multiple-files-in-tfs-source-control/5337504 # 5337504) ist der bessere hier. Der Parameter 'move' ist nicht dokumentiert und verschiebt den Verlauf nicht, während der Parameter' rename' der anderen Antwort * dokumentiert ist und auch den Verlauf verschiebt. –

+12

Für den Datensatz scheint, dass in TFS 2010 der Befehl move eine Umbenennung ausführt, die den Verlauf verschiebt. –

+9

aus der TF.EXE-Hilfe: Sie können den Befehl rename oder den Alias ​​move verwenden, um eine Datei oder einen Ordner an einen neuen Speicherort zu verschieben. so bewegen und umbenennen sind genau das gleiche. –

-9

Kleben Sie alle Dateien, die Sie verschieben möchten, unter einen Ordner und verschieben Sie diesen Ordner.

+4

Sie sind bereits in SC, so dass es nicht schneiden wird. –

54

Verwenden umbenennen statt bewegen

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

es die Hilfe Dokumentation Check out: TFS Command Line Reference

+0

Link oben wirft einen HTTP500; falls es unten bleibt, Hier ist die TFS-Befehlszeilenreferenz von MSDN: http://msdn.microsoft.co m/de-us/library/z51z7zy0.aspx –

+8

'move' ist nur ein Alias ​​für' rename', also spielt es keine Rolle, welches Sie verwenden –

+0

Ich benutze die TFS Source Control von Visual Studio Online, z. https://namgivu.visualstudio.com. Und das Auflisten des Arbeitsbereichs durch Aufrufen von 'tf workspaces' enthält nicht den Eintrag für meine Repository-Zuordnung. –

30

Holan Jan hat geschrieben eine Visual Studio-Erweiterung, die das Verschieben mehrerer Dateien innerhalb des Quellcodeverwaltungs-Explorers mit einer GUI) Funktioniert ein Leckerbissen, hat auch Unterstützung für aktuelle Versionen.

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

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

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

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

Unter der Haube hat es die gleichen Befehle oben erwähnt verwenden, aber es ist nur ein bisschen freundlicher zu benutzen.

+0

Ausgezeichnet! Dies ist die einzige Sache, die für mich funktionierte, mit VS2010: https://visualstudiogallery.msdn.microsoft.com/c6642e7f-1a58-4ff0-aef9-0322dcc2b28d –

+0

@Sharmin, vor kurzem (in unserem) verlagerten wir einige Code zu einem neuen Projekt und die neuen Entwickler sagten, dass sie die Geschichte nicht sehen konnten. Viel Verwirrung, da unsere alten Entwickler, die den Hafen betrieben haben, die Geschichte gut sehen konnten. Es stellte sich heraus, dass beim Verschieben die alten Versionen am selben Ort bleiben (zumindest wenn Sie zwischen den Projekten wechseln). Wenn Sie keine Berechtigungen für das Original-Repository haben, wird es so erscheinen, als ob es da wäre Keine Historie für die Datei. Möglicherweise ist das Ihre Situation? –

+0

Diese Erweiterung ist fantastisch - sie ermöglicht eine ganze Reihe zusätzlicher Funktionen im Quellcode-Kontroller, von denen das gleichzeitige Verschieben mehrerer Dateien nur ein Teil ist. Ich kann es nur wärmstens empfehlen. – SqlRyan