将TFS 2010中的源,标签和历史记录从根文件夹移动到分支中

时间:2011-10-31 13:28:54

标签: tfs tfs2010 branching-and-merging

我有一种情况,我不确定我是否可以解决。

我最近开始使用一个从未使用任何类型的版本控制系统的新团队,我们的组织使用TFS作为标准(我之前从未使用过)。

经过很多考验之后,我让管理员为我现有代码在我们的服务器上创建了一个TFS项目,因为我的项目代码都没有被检入过(存在多年后),我想要它版本控制asap,所以我检查了我的项目到项目的根文件夹。没有在http://tfsbranchingguideiii.codeplex.com/阅读分支策略我没有在主项目中设置“主”和“发布”文件夹。

当时,我在本地工作站上有单独的文件夹,其中包含我们制作的不同版本。我检查了每个版本,用版本号标记了它,然后检查了下一个版本。

我现在遇到了我之前发布的一个问题/错误,我正在尝试分支标签,以便在我的某个版本中进行一些更改。 TFS抛出一个错误,我无法在该位置创建分支(因为主项目文件夹下的所有源代码)。

我尝试创建“Main”和“Releases”文件夹,然后将所有源移动到Main文件夹下,但问题是历史记录和标签被固定到原始位置(根文件夹)。如果我尝试分支标签,标签不会存在于我将代码移动到的“Main”文件夹中,而是存在于(在根目录中)创建的位置。

因此,当我从标签尝试分支时,TFS仍在尝试从根文件夹分支。

我的问题是:作为服务器的管理员,有没有办法从原始位置移动所有(来源,历史记录和标签)?

谢谢!

1 个答案:

答案 0 :(得分:3)

我认为你不能“移动”历史和标签。正如你所说,他们被绑定到原始的源位置。移动实际上是重命名。

根据我的经验,即使将文件夹重命名为已删除的文件夹,也会导致这些新文件夹获取已删除文件夹的历史记录。

您是否考虑过将当前团队项目分支到另一个团队项目,同时观察新团队项目中所需的文件夹结构。

使用您想要的文件夹结构创建一个新的团队项目。 E.g:

  • / NewTeamProject
    • / Main(分支到这里)
      • / Src(或您的根源文件夹)
      • /文件
    • /唱片集

然后,您可以保留旧团队项目以获得“保险”。

它显示了一个合理深思熟虑的文件夹结构是多么有用。