使用tf.exe获取不同工作区的代码

4

我正在使用本地工作区在我的计算机上开发代码,并从TFS获取和检入代码。我还在构建一个自动化CI应用程序,它使用我的计算机并需要获取最新的代码。我使用以下方法获取CI应用程序的最新版本:

tf get $/abc/abc /recursive /all

我想使用一个不同的本地工作区(CI工作区)来获取最新版本,以避免与开发代码冲突。但是使用tf命令时,在使用get命令时无法指定工作区,MSDN文档也没有显示任何指定工作区的方法。如何使用"tf get"命令指定要使用的工作区?

2个回答

8
在执行tf get命令之前,请切换到 CI 工作区映射的其中一个目录。此时,tf get 将根据映射驱动器的详细信息设置服务器和工作区。

0

我也正在创建一个自动化构建过程,并作为其中的一部分执行“清理”获取,即重命名当前本地工作文件夹,然后重新从TFS获取文件到干净的工作文件夹副本,以便在执行完整的构建和单元测试之前。我在一个单独的文件夹中使用Nant脚本,因此无法只更改目录(在Nant中更改当前目录对于此问题无效)。我的解决方案是创建并运行批处理文件。以下是示例Nant脚本:

<!--do a clean get to the solution folder-->
    <target name="clean_get">

    <!--Create the batch file-->
    <property name ="batch.file" value="clean_get.bat" />
    <echo file="${batch.file}" append="True">md ${workfolder.path}</echo>
    <echo file="${batch.file}" append="True">${environment::newline()}cd ${workfolder.path}</echo>
    <echo file="${batch.file}" append="True">${environment::newline()}tf get $/${project.name}  /recursive</echo>


    <!--Run the batch file-->
    <exec program="clean_get.bat" >
    </exec>

<!--Delete the batch file - we're done with it-->
<delete file="${batch.file}" failonerror="false" />


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