如果文件夹层次结构已更改,如何从特定变更集创建分支?

时间:2010-09-13 18:45:13

标签: version-control tfs2008

我最近负责为我们的项目创建分支计划,其中一部分涉及创建一些功能分支和发布分支。我还必须清理源代码控制树,以便分支可以自包含。我基本上是从这开始的:

/
  ./src
  ./model
  ./processtemplates
  ./data
  ./otherfolders

我将结构更改为:

/
  ./trunk
    ./src
    ./model
    ./data
  ./branches
    ./v1
      ./release1
        ./src
        ./model
        ./data
      ./release2

问题是,我需要从特定的先前版本创建一个分支,但文件夹结构已更改,因此我无法获取/ trunk文件夹的变更集来创建分支。我得到的确切错误消息是:“在指定版本的$ /中找不到匹配的项目。”

最好的方法是什么?我已经从最新的变更集创建了一个分支,并将所有更改恢复为旧的变更集。我希望有一种更简单的方法。

1 个答案:

答案 0 :(得分:1)

重命名和删除是TFS 2008中的危险区域。您可能必须转到命令行才能执行此操作。查看您的历史记录以确定要从中分支的变更集,然后在命令行中执行以下操作:

mkdir c:\BranchFolder
cd c:\BranchFolder
tf.exe workspace /new /s:http://tfs:8080 BranchWorkspace
tf.exe workfold /map:"$/","C:\BranchFolder"
tf.exe branch "$/" "$/branches/v999" /version:Cxxxxxx /noget /noprompt

验证并签入。

tf.exe workspace /delete BranchWorkspace

v999替换为您要分支到的文件夹,并将xxxxxx更改为相应的变更集编号。

一如既往 - 当您在这些不太确定结果的区域工作时,请在办理登机手续前检查您的工作。