版本控制SVN中的多个小实用程序项目

时间:2013-09-27 08:49:33

标签: svn version-control

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

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

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

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

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

感谢。

2 个答案:

答案 0 :(得分:2)

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

当然,这只是一个潜在的优势,但我甚至无法想到多个存储库的潜在优势。

答案 1 :(得分:1)

两种可能性是:

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

单个大型存储库的专业人员:

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

缺点:

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

对于多个存储库,优缺点大多与上述相反。 extern工具是为了在各个项目之间共享共同元素而订购的。

许多决定取决于个人喜好和规模 - 如果一个人或极少数人要开展工作,那么单个存储库可能是最好的选择,如果超过X人将超过正在努力,然后拆分它可能更好。

个人经验表明:

开发人员 - 最佳选择

1-4 - 单一存储库

5-9 - 可能最好分裂

10+ - SPLIT IT!