2011-08-11 19 views
3

我需要一个批处理脚本,它使用tf来检索TFS中的标签的目录结构,类似于svn export的功能,而不会搞乱我当前的工作工作空间。如何使用tf在脚本中从TFS的标签下导出文件?

这是我设法想出:

tf workspace /new TemporaryWorkspace /noprompt 

这将创建一个新的工作空间,但具有下列工作文件夹: $ /:C:\ (考虑到我运行的命令从C :)

这不是我想要的,但“工作区TF /新”似乎并没有允许指定的映射,所以我跑这来删除默认映射:

tf workfold /unmap $/ /workspace:TemporaryWorkspace 

然后这一个来创建我想要的映射。

tf workfold /workspace:TemporaryWorkspace /map $/Project/Path C:\Temp\Path 

改变当前目录到本地工作文件夹(我不知道的另一种方式来选择当前工作空间)

PUSHD C:\Temp\Path 

现在,我终于可以检索标签,做我的内容它。

tf get /version:LMyBeautifulLabel 

现在清理干净。

tf workspace /delete TemporaryWorkspace /noprompt 

回去

POPD 

所有这些似乎为我卑微的目的有点太麻烦了。有一种更简单的方法吗?

谢谢。

回答

1

不幸的是,您需要使用正确的工作文件夹映射创建工作空间,然后运行get。没有单行的别名可以为你设置。

您或许可以通过创建具有适当工作文件夹映射的长生命周期工作区来避免不必删除,但当然,如果您经常使用此工作流程但使用不同标签或位于不同位置,请创建每次新的临时工作空间可能确实是最有意义的。

此处最佳解决方案是创建执行此工作流的命令脚本或使用tf命令行客户端的已知脚本功能。使用

tf @<filename> 

或者干脆::您可以通过运行一个脚本tf

tf @ 

从标准输入读取。

相关问题