我一直关注"Team Development with Visual Studio Team Foundation Server"和structuring projects sharing code from one team project into another using branching中的建议。所以我们的源代码树看起来像这样:
server\instance
Shared
share
Project1
Main
Product1
share (branched into Project1 from Shared)
Stories
1607
1832
或至少它应该。
正如您所看到的,以及在某些共享代码中的分支,我们还使用每个用户故事的分支。
问题是,当我尝试从共享项目分支共享文件夹(源分支名称:$ /共享/共享;目标分支名称:$ / Project1 / Main / share)时,我收到错误:< / p>
TF203028:您无法在$ / Project1 / Main / share创建分支,因为 $ / Project1 / Main中已经存在一个分支。
据记载,您无法在TFS中嵌套分支,因此错误并不令人惊讶。因此,似乎我被打破了,团队发展书是错误的。 (这本书暗示这应该有效。)
但是外表可能具有欺骗性,而且我比这本书的作者更容易出错。任何人都可以帮我理解如何解决这个问题吗?
(一个明显的解决方案是让故事的根源成为分享的兄弟,而不是父母。但这对我们没有任何用处,因为这意味着我们无法做出改变故事分支中的共享代码,相当于每个故事的分支对象。这也意味着在项目中改变路径的工作量相当庞大。)
答案 0 :(得分:5)
我找到了解决方案。
TFS显示了针对Project1 \ Main的分支图标,而不是文件夹图标。我去了 File>Source Control>Branching and Merging>Convert to Folder
并将其转换回文件夹。然后我能够将共享分支到Project1。
奇怪的是,Main仍然是一个关闭故事分支的点,这些分支仍然存在。
真正的解决方案是我必须将共享代码分支的位置分配到项目普通文件夹中,而不是分支图标。我去了File>Source Control>Branching and Merging>Convert to Folder
并将其转换回文件夹。然后我就可以在Main上创建分支。
Main的分支,故事分支保留了分支图标。现在分享看起来像一个普通的文件夹。