通过Team Foundation Server命令行等效的svn导入

时间:2010-09-22 13:06:17

标签: windows svn tfs tfs2010

Subversion的svn import命令允许重复将外部目录树导入源代码管理。同样重要的是要注意原始目录树未被修改,即它不会成为结帐/工作目录。

TFS 2010(Team Foundation Server)中的等效项是什么,使用命令行?

3 个答案:

答案 0 :(得分:1)

TFS不支持这一概念。

您可以在源代码管理中包含一个脚本,开发人员可以运行该脚本以将文件从外部VCS拉入其工作区。此脚本也可以作为自动构建过程的一部分包含在内。

答案 1 :(得分:1)

您可以创建一个批处理文件,首先创建一个临时工作区,然后添加文件并执行签入,然后再次删除工作区:

  

tf workspace / new Temp   /集:HTTP:// MyTfsServer:8080 / TFS / defaultcollection   / NOPROMPT

     

添加*。* / recursive / noprompt

     

checkin / recursive / noprompt

     

tf workspace / delete Temp   /集:HTTP:// MyTfsServer:8080 / TFS / defaultcollection   / NOPROMPT

答案 2 :(得分:0)

正如已经说过的那样,你将会考虑使用解决方法。

您可以使用MSBuild来执行此操作,因此它是构建过程的一部分。要访问TFS,您可以shell到TF.EXE,或使用MSBuildExtensionPack(请参阅this question also)。

希望您的解决方案中有一个项目依赖于源代码中的其他内容,因此您有一个明显的位置来放置您的MSBuild自定义代码。

我设想MSBuild代码会:

  1. 获取适用的内容,覆盖现有内容。
  2. 删除源代码控制绑定 - this blog post看起来可能有指针。
  3. 它不漂亮,但在没有重要的情况下你不太可能找到一个漂亮的解决方案。这种方法的优点是将自定义放在.csproj中意味着您不需要任何类型的自定义构建过程来确保更新内容。每当你使用的项目都建成时,它就会发生。

    如果您知道构建脚本的人将要在相对于正在构建的解决方案的可预测位置检出要导入的内容,则只需从该位置复制,而不是使用TF get。