[注意:我从serverfault移动了这个,因为stackoverflow可能更合适]
对于我们正在开发的项目,我们正在开发一个WordPress主题,一些WordPress自定义插件,一个iOS应用程序和一个Android应用程序。我们通过内部Subversion服务器处理所有源代码,其中每个项目都有自己的存储库。
我的问题是:这个项目的SVN存储库的最佳布局是什么?我可以将它放在1个存储库中,还是应该为主题,插件和移动应用程序创建单独的存储库?
答案 0 :(得分:3)
问题不在于单独的存储库,而在于它们是否应作为单独的项目进行管理,这意味着它们是否将被分支并合并在一起。在Subversion中,您可以在一个存储库中拥有多个项目,因此您始终只能拥有一个存储库。
答案取决于模块捆绑在一起的程度。如果您希望任何版本的一个组件在合理范围内与其他组件的任何其他版本一起使用,那么它们应作为单独的项目进行管理(每个项目都有自己的trunk
和branches
,所以你我有theme/trunk
和theme/branches
以及plugin/trunk
等。如果您希望修改通常涉及多个组件,则必须将它们作为单个项目进行管理(一个trunk
和branches
,这样您就可以trunk/theme
和trunk/plugin
等)。
另一方面,我建议重新考虑颠覆的选择。较新的分布式系统(按受欢迎程度Git,Mercurial和Bazaar)提供了更大的灵活性和出色的分支和合并。在这些年之后,颠覆实现仍然显示出粗糙的边缘,主要是因为底层模型不适合分支。
与subversion不同,分布式系统每个存储库总有一个项目,因为分支在那里是独立的概念,所以如果你决定拥有单独的项目,你将拥有单独的存储库(无论如何在一台服务器上)。
答案 1 :(得分:0)
你不能只创建一个单独的分支项目吗?