TF.exe 工作区重新映射和切换

TF.exe workspace remapping and switching

各位,

我正在尝试使用 TF.exe 命令行实用程序取消搁置然后下载单个文件。但我一直面临问题。

这是通过 teamcity 界面完成的。有更好的方法吗?

要下架

if "%ShelvesetName%"=="" exit /b 0
"D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\tf.exe" workspaces /server:%tfscollection% /owner:%uDeploy_Username%
"D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\tf.exe" unshelve "%ShelvesetName%" /recursive /noprompt /login:%uDeploy_Username%,%tfspassword%

在 TFS

中从不同的根 url 获取单个文件
"D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\tf.exe" workspaces /server:%tfscollection% /owner:%uDeploy_Username%
"D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\tf.exe" workfold /map "%TFS_BRANCH_SPECIAL%" "%wspath%"
"D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\tf.exe" get /v:LnewLabel

如果您想取消搁置到另一个 location/branch。您可以尝试使用 tfs power tools.

使用 TFPT 在 cmd 中定义路径。然后,从那里转到要取消搁置代码的目标文件夹或工作区。

1. c:\>path = %path%;C:\Program Files (x86)\Microsoft Team Foundation Server 201x Power Tools

2. cd c:\[some location]\"destination workspace"

3. tfpt unshelve /migrate /source:"$/ProjectName/Branch" /target:"$/ProjectName/Targetbranch" "My Shelveset Name"

如果要下载到不同的本地工作区,只需将其取消搁置到相应的服务器path/branch,然后将分支从服务器下载到本地工作区。

更多详情可以参考这篇博文:Move Shelveset to a Different Branch in TFS