您如何在单个SVN服务器中安排多个项目?

时间:2009-07-16 16:03:09

标签: svn svn-server

当有多个相关项目(可识别,独立应用程序,共享库)时,如何准备SVN服务器目录结构? 通过分支>项目?按项目>科?完全不同的东西?或者为每个项目安装一台SVN服务器会更好吗? (考虑到一些项目密切相关)

9 个答案:

答案 0 :(得分:10)

标准惯例是

  • PROJECT1
    • 分支
    • 标记
    • 躯干
  • 项目2
    • 分支
    • 标记
    • 躯干

在单个回购中。由于这是最常见的惯例,因此有些工具只是希望您的项目能够像这样布局。

哪个项目属于哪个回购更多是判断。就个人而言,我会从同一组管理的所有项目(例如团队,部门或公司)开始使用一个回购。

答案 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)

我们为每个项目设置了存储库,因此每个项目都可以拥有自己的分支/标记等。

此外,对于相互依赖的项目,您可以设置链接的存储库,以便共享文件。到目前为止,这对我们来说效果很好,并且已经证明非常灵活。