使用 TFS 命令行 tf.exe 如何将存储库复制到我选择的文件夹位置?
Using TFS command line tf.exe how can I copy a repo to a folder location of my choice?
我已经开始在我的 MSVS 2015 C++ 项目中使用 TFVC。我习惯于像 git/svn 这样的命令行回购,我可以在其中简单地执行 checkout/clone,等等...并将文件复制到我喜欢的任何文件夹。
因此,我已通过 MSVS2015 GUI 将我的工作区检出到映射位置 (c:\myworkspace)。但是现在我想 运行 我的自动测试脚本,它将最新的文件从 repo 复制到当前目录(例如 c:\auto运行)。自动测试脚本构建、测试并生成结果等...但我不希望它只是覆盖我工作区中的内容,以防其他人添加更改.
我希望它转到我选择的其他文件夹。
在 Git 中,我将导航到文件夹 (cd c:\auto运行),然后执行 git clone <repo-path>
。但我看不出这在 TFVC 的工作空间中是如何实现的。
到目前为止,我已经开始修改与 git 一起使用的脚本以获得此:
' Clean any existing files:
rmdir /S /Q <projname>
' Checkout project
tf checkout <projname> /recursive
' Do other stuff (build test etc...)
但这只适用于我的 c:\workspace - 我不想 delete/overwrite 我的本地更改。
您可以使用
创建一个新的(临时)工作区
cd temp
md newfolder
tf vc workspace /new ...
tf vc workfold /map $/Project/Folder c:\temp\newfolder
cd newfolder
tf vc get . /recursive
tf workspace /delete
或者您可以使用 Neno Loje 编写的小实用程序,TfsExport。
从 OP 更新
假设我从要将项目解压缩到的文件夹开始。我使用了以下内容:
tf dir 显示我拥有的存储库:
D:\sandbox\tfs-test > tf dir
$/:
$tfsRepo1
$tfsRepo2
$tfsRepo3
我只想要前两个回购协议:
tf vc workspace /new /noprompt cit
tf vc get tfsRepo1 /recursive
tf vc get tfsRepo2 /recursive
然后整理:
tf workspace /delete cit /noprompt
rmdir /S /Q tfsRepo1
rmdir /S /Q tfsRepo2
注意在不同地方使用 /noprompt,这样就不需要用户交互。
我已经开始在我的 MSVS 2015 C++ 项目中使用 TFVC。我习惯于像 git/svn 这样的命令行回购,我可以在其中简单地执行 checkout/clone,等等...并将文件复制到我喜欢的任何文件夹。
因此,我已通过 MSVS2015 GUI 将我的工作区检出到映射位置 (c:\myworkspace)。但是现在我想 运行 我的自动测试脚本,它将最新的文件从 repo 复制到当前目录(例如 c:\auto运行)。自动测试脚本构建、测试并生成结果等...但我不希望它只是覆盖我工作区中的内容,以防其他人添加更改.
我希望它转到我选择的其他文件夹。
在 Git 中,我将导航到文件夹 (cd c:\auto运行),然后执行 git clone <repo-path>
。但我看不出这在 TFVC 的工作空间中是如何实现的。
到目前为止,我已经开始修改与 git 一起使用的脚本以获得此:
' Clean any existing files:
rmdir /S /Q <projname>
' Checkout project
tf checkout <projname> /recursive
' Do other stuff (build test etc...)
但这只适用于我的 c:\workspace - 我不想 delete/overwrite 我的本地更改。
您可以使用
创建一个新的(临时)工作区cd temp
md newfolder
tf vc workspace /new ...
tf vc workfold /map $/Project/Folder c:\temp\newfolder
cd newfolder
tf vc get . /recursive
tf workspace /delete
或者您可以使用 Neno Loje 编写的小实用程序,TfsExport。
从 OP 更新
假设我从要将项目解压缩到的文件夹开始。我使用了以下内容:
tf dir 显示我拥有的存储库:
D:\sandbox\tfs-test > tf dir
$/:
$tfsRepo1
$tfsRepo2
$tfsRepo3
我只想要前两个回购协议:
tf vc workspace /new /noprompt cit
tf vc get tfsRepo1 /recursive
tf vc get tfsRepo2 /recursive
然后整理:
tf workspace /delete cit /noprompt
rmdir /S /Q tfsRepo1
rmdir /S /Q tfsRepo2
注意在不同地方使用 /noprompt,这样就不需要用户交互。