ChatGPT解决这个技术问题 Extra ChatGPT

在 TFS 源代码管理中移动多个文件

我正在使用 Team Foundation Server 2008 (SP 1),我需要将多个文件从一个文件夹移动到另一个文件夹(以保留文件历史记录)。除了 Team Explorer(带有 SP 1),我还安装了最新的 TFS Power Tools(2008 年 10 月)(用于 Windows Shell 集成)。

现在,问题是我似乎无法通过 shell 或源代码管理资源管理器窗口选择和移动多个文件。我可以移动单个文件(通过右键单击+“移动”),我可以移动整个文件夹(相同的操作),但是当我选择多个文件(在一个文件夹中)时,“移动”上下文项是灰色/禁用的。

有谁知道这是否可能.. 如果没有.. 为什么不呢!?

任何人都可以提出一个不太复杂的解决方法吗?

请在此处投票: https://connect.microsoft.com/VisualStudio/feedback/details/715041/support-moving-multiple-files-in-tfs-source-control-explorer 在此处 http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2271540-allow-to-move-more-than-one-file-at-once-in-tfs-so

https://i.stack.imgur.com/QQWi4.png

https://i.stack.imgur.com/8t53e.png


S
SliverNinja - MSFT

使用 Visual Studio 命令行中的 tf.exe 工具 - 它可以处理通配符:

tf.exe move <olditem> <newitem>

例子:

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

[编辑] 如评论中所述:移动是重命名的别名。这两个命令都会移动历史。


这个other answer在这里更好。 move 参数未记录并且不移动历史记录,而另一个答案的 rename 参数 is 记录并且也移动历史记录。
作为记录,似乎在 TFS 2010 中,移动命令执行了移动历史记录的重命名。
来自 TF.EXE 帮助:您可以使用重命名命令或别名移动,将文件或文件夹移动到新位置。所以 move 和 rename 是一回事。
另一件事,使用 Visual Studio 的命令行从映射路径运行它。否则它会不知道工作空间,并为您提供一种(无用的)方法来找出您拥有哪些工作空间(然后是什么??什么都没有...... - 所以从映射的目录运行它,你会没事的(为我)
“当分配了工作文件夹映射时,无法重命名 $/X/Y/Z。”为什么这么难?只是移动它,让我们处理后果。
A
Alex Angas

使用重命名而不是移动

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

查看帮助文档:TFS Command Line Reference


上面的链接正在抛出 HTTP500;如果它保持关闭,这是 MSDN 的 TFS 命令行参考:msdn.microsoft.com/en-us/library/z51z7zy0.aspx
move 只是 rename 的别名,因此使用哪个并不重要
我使用我的 Visual Studio Online 的 TFS 源代码控制,例如 namgivu.visualstudio.com。并且通过调用 tf workspaces 列出工作区没有我的存储库映射的条目。
“当分配了工作文件夹映射时,无法重命名 $/X/Y/Z。”还;不再允许使用通配符 *.*。
“如果目标不是源代码管理中的文件夹,则不能将通配符指定为源。”我不知道那是什么意思。只需将其移至我指向的名称即可。
S
Sid James

Holan Jan 编写了一个 Visual Studio 扩展,它为源代码管理资源管理器中的多个文件提供“移动”功能(即使用 GUI),这是一种享受,还支持最新版本。

对于 VS2022:https://marketplace.visualstudio.com/items?itemName=HolanJan.TFSSourceControlExplorerExtension-2022

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

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

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

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

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

在引擎盖下,它确实使用了上面提到的相同命令,但使用起来更友好一些。列出的每个版本都需要 RTM 版本的 Visual Studio。


出色的!这是唯一对我有用的东西,使用 VS2010:visualstudiogallery.msdn.microsoft.com/…
这个扩展非常棒——它在源代码管理浏览器中启用了一大堆附加功能,其中一次移动多个文件只是其中的一部分。我强烈推荐它。
这就是答案。谢谢!
M
Merrick Chaffer

将您要移动的所有文件粘贴在一个文件夹下,然后移动该文件夹。