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