从特定文件夹获取TFS最新版本

13

我想创建一个按钮,从特定文件夹中获取我的代码的最新版本,而不必每次都使用Team Explorer->源控件树。

因此,我尝试创建外部工具引用以运行tf.exe get 命令。

这是我目前的进展。

enter image description here

当我运行它时,会出现以下错误:

无法识别命令选项“workspace”

我找不到如何提供工作区名称的方法?


2
为什么要这么麻烦呢?你可以右键单击任何解决方案/项目节点,然后单击“获取最新版本”。或者你可以自定义任何工具栏并在那里添加该命令以便轻松访问。 - Mrchief
1
因为我们拥有高于解决方案文件夹的资源和程序集,所以这不是一个选项。 - Dan
我没有看到你指定工作区选项,所以我不确定为什么会出现这个错误。你尝试过添加/workspace:工作区名称(显然用你的TFS工作区名称替换工作区名称...?)吗?你需要在/workspace和工作区名称之间加上冒号(这可能导致出现此错误)。 - Edward Thomson
是的,我尝试了各种变化,似乎在“get”上没有“/workspace”标志。 - Dan
3个回答

15
你可以省略工作区名称。因为tf.exe在本地存储了工作区信息,所以它可以解析服务器路径和本地路径映射。
你给出的命令是正确的(假设你已经映射了$/Dev)。
tf.exe get /recursive $/Dev

但是至关重要的是,您必须直接映射$/Dev(而不仅仅是将其子项映射),并且是明确的(您不能在两个不同的工作区中映射$/Dev),否则tf.exe 将无法确定正确的本地路径。

由于给定的本地路径只能映射到单个服务器路径,最简单的方法就是通过指定您希望获取的本地路径来完成。例如:

tf.exe get /recursive C:\Dev

再次强调,这假设您将 $/Dev 映射到 C:\Dev


5

获取最新版本的命令是

tf get /force /recursive /version:W<workspacename>

需要注意的一件事是,您在“初始目录”文本框中没有提供工作区。请提供一些路径,以便下载文件的本地副本(即所谓的工作流程)。例如,提供类似于C:\TFS\Apps的路径。


所以我尝试了这个命令 get $/Source/Dev /force /recursive /version:W<WORKSPACENAME>,但是出现了“无法确定工作区”的错误信息。您可以通过运行“tf workspaces /collection:TeamProjectCollectionUrl”来纠正此问题。 - Dan
是的,那是另一种解决方案,但根据您上述提供的情况,我写了上面的答案。 - Sunil Agarwal
这将不会获取最新版本,而是强制获取工作区版本。如果服务器上有更新的版本,它将不会被检索到。你需要使用/version:T来获取最新版本。 - Edward Thomson
是的,我尝试过那个,结果得到与上面评论相同的消息。 - Dan

0
除了Mrcief提供的答案之外:如果您安装了TFS Power Tools,您可以使用Windows资源管理器中的上下文菜单进行签入/签出等操作。

我想这样做,以便我可以一键更新 - 无需使用任何其他工具或浏览到任何内容。 - Dan
你可以设置VS在检出时获取最新的文件。这样或许会更容易一些? - Random Dev
是的,我已经设置了 - 这是为了在一天中定期进行的点。 - Dan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接