【发布时间】:2012-03-19 00:59:00
【问题描述】:
我目前设置的存储库设计是标准方法:
Application1
trunk
DatabaseScripts
CreateScripts
CreateTable1.SQL
CreateTable2.SQL
StoredProcs
StoredProc1.SQL
StoredProc2.SQL
Solutions
MainSolution.sln
Project1
Project1.csproj
Project1Class1.cs
Project2
Project2.csproj
Project2Class1.cs
tags
1.0.0
1.0.1
branches
developer1
developer2
并为每个应用程序重复。这在过去对我很有帮助 在处理非常大的代码库时。
不过这家公司很小,目前有 大约 8 个应用程序,每个应用程序都相当小。只有一个 很少有开发人员,所以我们很少需要分支/标记。
我对当前设置的唯一问题是,如果 有人想查看我们所有应用程序的源代码, 唯一的方法是检查每个单独的应用程序 主干,一次一个,或者检查所有内容然后删除 分支和标签。
所以我在考虑以下结构:
trunk
Application1
DatabaseScripts
CreateScripts
StoredProcs
Solutions
MainSolution.sln
Application2
DatabaseScripts
CreateScripts
StoredProcs
Solutions
MainSolution.sln
tags
Application1
1.0.0
1.0.1
Application2
branches
Application1
developer1
developer2
Application2
我注意到 SVN 书中提到了这种模式,他们称之为“项目作为分支兄弟姐妹”: http://svnbook.red-bean.com/nightly/en/svn.reposadmin.planning.html#svn.reposadmin.projects.chooselayout
除了书中所述之外,谁能指出这个设计中的任何不足之处?
【问题讨论】:
-
请看我对同一主题的回答:stackoverflow.com/questions/9533700/…
-
你的答案很好,但我的问题不同而且更具体。
-
你打算如何管理共享库?
-
考虑创建一个“元存储库”,它是你的存储库中的一个目录,它本身不包含任何内容,但使用
svn:externals在所有其他项目的主干中调用,所以你不检查所有内容时获取分支和标签... -
是的 - 不知道,好问题,看起来每个单独的应用程序都是完全分开编写的(由来来往往的不同承包商),所以没有任何共享代码。我想我只是在主干下创建一个“Lib1”文件夹。
标签: svn repository