Team Foundation Server最佳实践,分支“常见”项目还是授予权限?

时间:2014-11-10 12:40:32

标签: tfs permissions branching-and-merging tfs2013

好的,设置很简单。

假设我们在TFS中有以下源代码管理层次结构 $ /:

/Common
   /Library1
   /Library2
/ProductA
/ProductB

现在每个产品都有一个团队,因此在源代码管理方面,每个产品都有权限#34;用于授予该特定团队访问权限的文件夹(产品A团队已在" /产品A"等上提供权限。)

现在任何给定的产品(A,B,......)都可以使用公共库。 我是否授予/ Common / LibraryX贡献(或读取)权利?或者我将LibraryX的副本分支到ProductY?

/Common
   /Library1
   /Library2
/ProductA
   /Library1-ProductA (branched)
/ProductB
   /Library1-ProductB (branched)
   /Library2-ProductB (branched)

这些"产品组中可能有自由职业者或其他人。因此,我希望能够严格控制他们可以看到的内容以及他们可以修改的内容。

我更喜欢分支机构。然而,这可能意味着许多额外的工作,因为我必须确保任何部署都不会破坏另一个应用程序。

E.g。如果Library1是一个SharePoint项目,它将成为ProductA和ProductB的一部分,我必须确保部署最新版本(因为只能进行一个GAC部署!)并且它不会破坏任何东西

如果我将Library1从部署过程中移除,我将不再使用自动构建。也不好。

1 个答案:

答案 0 :(得分:0)

最佳做法是使用NuGet。为每个公共库创建NuGet包,并使用包管理器来使用它们。这样,公共图书馆的“发布”将正式化。如果要向公共库添加功能,可以有意识地决定增加发布版本,客户可以决定是否要升级。

如果你要走这条路线,那么最好将每个公共图书馆的分支机构分开,因为它们本身就是一个产品。