10

我正在使用 TFS 2010 并编写一个脚本来启用我们软件的特定版本标签的简单获取。由于这只是一个简单的获取,所以无论如何只执行获取而不必使用当前工作区设置或将工作区设置更改为所需的路径?获取后没有理由将文件链接到 CM,所以我没有理由保留这个“工作区”。我只想能够在我想要的任何地方创建一个目录,并让 TFS 给我当前目录中标记为当前版本的文件的副本,或者给我“即时”提供的目录。似乎没有办法将简单的 get 与项目工作区设置分开。我是否遗漏了某些东西,或者我是否被迫在获取之前隐藏或更改工作区设置?

4

2 回答 2

13

您将需要一个工作区来执行get,但它不必与您用于 Visual Studio 的工作区相同。实际上,您可以只创建一个简单的一次性工作区,例如:

# {{Server}} is http://server:8080/tfs/DefaultCollection; for readability.

tf workspace /new temp_workspace /collection:{{server}} /noprompt
tf workfold /map $/Project/Project C:\Build\Project
tf get C:\Build\Project /recursive /noprompt
tf workspace /delete temp_workspace /collection:http{{server}} /noprompt

请注意,TFS SDK 确实提供了Item无需创建工作空间就可以下载的机制,因此您可以编写一个程序来执行此操作,但要避免创建工作空间,这将是相当多的代码,最终,相当便宜的操作。

于 2012-05-16T18:34:42.380 回答
1

Neno Loje 创建了一个小型实用程序,可通过命令行的一个命令提供此功能

于 2013-06-01T18:35:19.060 回答