您如何在单个 SVN 服务器中安排多个项目?
Posted
技术标签:
【中文标题】您如何在单个 SVN 服务器中安排多个项目?【英文标题】:How do you arrange several projects in a single SVN server? 【发布时间】:2009-07-16 16:03:09 【问题描述】:当有多个相关项目(可识别、独立应用程序、共享库)时,您如何准备 SVN 服务器目录结构? 按分支 > 项目?按项目 > 分支?完全不同的东西?还是为每个项目配备一台 SVN 服务器更好? (考虑到一些项目密切相关)
【问题讨论】:
似乎没有出现任何共识,到目前为止,server / projects / branches
是首选组织...
推荐的选项是为每个项目使用不同的SVN服务器并使用外部。
【参考方案1】:
标准约定是
项目1 分支机构 标签 主干 项目2 分支机构 标签 主干在单个仓库中。由于这是最常见的约定,因此某些工具只是希望您的项目采用这种布局。
哪些项目属于哪个回购更多的是判断电话。就个人而言,我会从一个 repo 开始,用于由同一组管理的所有项目,例如团队、部门或公司。
【讨论】:
当我接受这个答案时,我想我应该将带有信息的链接添加到externals
svnbook.red-bean.com/en/1.0/ch07s03.html,因为它对于协调不同的服务器很有用。 (取自***.com/questions/1138628/…)【参考方案2】:
查看颠覆书籍,其中提供了关于 Recommended Repository Layout 的部分
【讨论】:
【参考方案3】:这个问题得到a whole section in the SVN book. 我建议从那里开始,询问任何不清楚或特定于您的项目的问题。
【讨论】:
【参考方案4】:我会考虑使用 externals 。如果您有许多相关项目都使用相同的代码库,但您不想将该代码库复制到每个存储库中,请在每个存储库中设置一个外部链接以指向公共代码库。
【讨论】:
【参考方案5】:根目录/主干/项目文件夹
根/分支/项目文件夹
这样,如果需要,某人无需获得任何分支即可获得所有主线项目。
【讨论】:
【参考方案6】:对于密切相关的项目,我建议:
root > branch > project
这样可以检出单个分支并获取该分支中当前的所有代码。
【讨论】:
【参考方案7】:作为维护大型svn repos的人,让我告诉你,不要使用统一的主干。这将使所有操作变得非常非常慢。除此之外,从较大的 repo 中提取单个项目不仅乏味且棘手,而且当您确实最终想要剥离一个项目时也会导致空间浪费。
为每个项目使用单独的 repos,在 repos 下有一个 trunk 和 tags 目录,并且让需要绑定到其他项目的开发人员使用外部,它们的设计方式。
懒惰并不能完全替代有组织的。
【讨论】:
你是在告诉我们 svn.apache.org/repos/asf 的 Apache 人是一群傻瓜吗? 我说过了吗?不。别再做蠢事了。【参考方案8】:我为每个项目使用一个文件夹,然后在每个文件夹中分支。这样,如果不同的团队在处理每个项目,他们不需要看到整个树,只需要查看他们的分支。
【讨论】:
【参考方案9】:我们为每个项目设置了存储库,因此每个项目都可以有自己的分支/标签等。
此外,对于相互依赖的项目,您可以设置链接存储库,以便共享文件。到目前为止,这对我们来说效果很好,并且被证明非常灵活。
【讨论】:
以上是关于您如何在单个 SVN 服务器中安排多个项目?的主要内容,如果未能解决你的问题,请参考以下文章