1

当有几个相关的项目(可识别的、独立的应用程序、共享库)时,您如何准备您的 SVN 服务器目录结构?按分支 > 项目?按项目 > 分支?完全不同的东西?还是为每个项目配备一台 SVN 服务器更好?(考虑到一些项目是密切相关的)

4

9 回答 9

10

标准约定是

  • 项目1
    • 分支机构
    • 标签
    • 树干
  • 项目2
    • 分支机构
    • 标签
    • 树干

在单个回购中。由于这是最常见的约定,因此某些工具只是希望您的项目可以这样布局。

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

于 2009-07-16T16:05:13.210 回答
7

查看 subversion book,其中提供了有关推荐存储库布局的部分

于 2009-07-16T16:07:07.730 回答
2

这个问题在 SVN 书中占据了一整节。我建议从那里开始,并询问任何不清楚或特定于您的项目的内容。

于 2009-07-16T16:08:23.357 回答
2

我会考虑使用externals。如果您有许多相关项目都使用相同的代码库,但您不想将该代码库复制到每个存储库中,请在每个存储库中设置一个外部链接以指向公共代码库。

于 2009-07-16T16:18:52.573 回答
1
  • 根/主干/项目文件夹

  • 根/分支/项目文件夹

这样,如果需要,某人无需获得任何分支即可获得所有主线项目。

于 2009-07-16T16:05:52.083 回答
1

对于密切相关的项目,我建议:

root > branch > project

通过这种方式,可以检出单个分支并获取该分支中当前的所有代码。

于 2009-07-16T16:06:14.907 回答
1

作为维护大型 svn repos 的人,让我告诉你,不要使用统一的 trunk。这将使所有操作变得非常非常慢。除此之外,从更大的 repo 中提取单个项目不仅乏味且棘手,而且当您最终想要剥离一个项目时会导致空间浪费

为每个项目使用单独的 repos,在 repos 下有一个 trunk 和 tags 目录,并让需要绑定到其他项目的开发人员使用外部,它们的设计方式。

懒惰不是有组织的充分替代品。

于 2009-07-16T16:21:32.770 回答
0

我为每个项目使用一个文件夹,然后在每个文件夹中分支。这样,如果不同的团队正在处理每个项目,他们不需要看到整个树,只需要看到他们的分支。

于 2009-07-16T16:05:24.423 回答
0

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

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

于 2009-07-16T16:05:26.937 回答