您如何在单个 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 开始,用于由同一组管理的所有项目,例如团队、部门或公司。

【讨论】:

当我接受这个答案时,我想我应该将带有信息的链接添加到externalssvnbook.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 服务器中安排多个项目?的主要内容,如果未能解决你的问题,请参考以下文章

如何在CentOS 7中安装Subversion

如何在CentOS 7中安装Subversion

在 BigQuery 中安排一系列 DML 语句

关于vmware ,centos 中安装svn服务器 import 项目问题。

如何在詹金斯中安排多个配置文件?

如何从包含多个 MSI 的 wix 自定义引导程序包中安装/卸载单个 msi,例如安装项目的添加/删除功能?