1

我们正在构建一个组件库,该库将托管许多可供多个应用程序重用的实用程序组件。这些不是第三方库,但将在内部自定义构建。

在 SVN 中组织它们的最佳方式是什么?我们应该为每个组件创建一个存储库,还是应该创建一个托管所有组件的全局存储库?

我们的主要要求是我们应该能够单独对组件进行版本控制,以便客户端应用程序可以选择他们想要的任何版本。

例如,假设我们有两个组件 - authentication 和 routing_engine。我们应该将它们分别打包为 authentication_1.0、authentication_2.0、routing_engine_1.0、routing_engine_1.1 等。

这里的目标是确保一个客户端应用程序选择任何版本的任何组件。

谢谢。

4

2 回答 2

2

根据我的经验,我可以说单个存储库更好。我不知道缺点,但优点是您可以在组件之间移动文件,同时保留历史记录或创建某种共享功能。

当然,这只是一个潜在的优势,但我什至想不出多个存储库的潜在优势。

于 2013-09-27T08:59:29.190 回答
1

两种可能性是:

  • 单个大型存储库
  • extern必要时可能会链接几个较小的存储库。

单个大型存储库的优点:

  • 易于管理。
  • 通用组件的交叉使用很容易。
  • 移动/重命名可以保留历史。

缺点:

  • 每个人都可以访问一切
  • 没有明确区分组件和公共元素
  • 每次更改都会更新所有内容的修订号。

对于多个存储库,优缺点大多与上述相反。该extern设施是为了在各种项目之间共享共同元素而定制的。

很多决定都取决于个人偏好和规模——如果一个人或极少数人将在其上工作,那么如果随着时间的推移超过 X 人将在工作时,单个存储库可能是最佳选择那么拆分它可能会更好。

个人经验表明:

开发人员 - 最佳选择

1-4 - 单一存储库

5-9 - 可能最好分开

10+ - 拆分它!

于 2013-09-27T09:37:02.107 回答