当有多个相关项目(可识别,独立应用程序,共享库)时,如何准备SVN服务器目录结构? 通过分支>项目?按项目>科?完全不同的东西?或者为每个项目安装一台SVN服务器会更好吗? (考虑到一些项目密切相关)
答案 0 :(得分:10)
标准惯例是
在单个回购中。由于这是最常见的惯例,因此有些工具只是希望您的项目能够像这样布局。
哪个项目属于哪个回购更多是判断。就个人而言,我会从同一组管理的所有项目(例如团队,部门或公司)开始使用一个回购。
答案 1 :(得分:7)
查看颠覆书,其中提供了Recommended Repository Layout
的部分答案 2 :(得分:2)
这个问题得到a whole section in the SVN book.我建议从那里开始,并询问任何不清楚或特定于你的项目的事情。
答案 3 :(得分:2)
我会考虑使用externals。如果您有许多相关项目都使用相同的代码库,但您不想将该代码库复制到每个存储库,请在每个存储库中设置一个外部链接以指向公共代码库。
答案 4 :(得分:1)
root / trunk / projectfolders
root / branches / projectfolders
这样一来,如果需要,有人可以获得所有主线项目,而不会获得任何分支。
答案 5 :(得分:1)
对于密切相关的项目,我建议:
root > branch > project
这样就可以检出一个分支并获得该分支中当前的所有代码。
答案 6 :(得分:1)
作为维护大型svn回购的人,让我告诉你,不要使用统一的主干。它会使所有操作变得更快,更慢。除此之外,从更大的回购中提取单个项目不仅乏味且敏感,而且当您做最终想要剥离一个项目时,将导致空间浪费。
为每个项目使用单独的repos,在repos下使用trunk和tags目录,让开发人员需要绑定到其他项目使用外部设备,就像设计它们一样。
懒惰不是有组织的充分替代品。
答案 7 :(得分:0)
我为每个项目使用一个文件夹,然后在每个文件夹中分支。这样,如果一个不同的团队正在为每个项目工作,他们不需要看到整个树,只需要看到它们的分支。
答案 8 :(得分:0)
我们为每个项目设置了存储库,因此每个项目都可以拥有自己的分支/标记等。
此外,对于相互依赖的项目,您可以设置链接的存储库,以便共享文件。到目前为止,这对我们来说效果很好,并且已经证明非常灵活。