有多个SVN存储库的目的是什么?

为什么在很多例子中,人们试图为每个项目创build独立的存储

为什么没有单一的回购和通过authz文件pipe理访问?

现在它看起来像额外的行政负担,没有多less好处…

这取决于你的组织结构。 对于许多商店来说,一个存储库是好的。 我们过去使用一个存储库,现在正在切换到多个存储库。

分裂的一个原因是因为权限。 如果不是每个项目都允许在所有的项目中,那么你可以让用户访问他们所需要的。

对我们来说,这只是一个让客户端更容易处理的问题。 一旦他们成立,他们就成立了。 把它们分开给我们一点额外的努力值得在客户端方便的使用。

有时候,人们也会为不同types的项目使用不同的存储库。 一个用于开发的源代码,另一个用于技术作者的产品文档等等。

我们使用多个存储库(每个项目一个),主要是因为它更容易归档/删除整个存储库。 我们的业务性质意味着我们为客户做了许多我们可能再也听不到的小型短期项目。 能够将旧项目移动到磁带存档而不会干扰任何活跃的项目对我们来说是一个重大胜利。

拥有多个小型存储库可以在单个存储库中进行pipe理。 例如,如果你不得不从SVN中删除一个文件,你基本上必须在通过一个filter之后重新创build这个版本库。 这改变了修订号码。 在单个项目上完成它并不会影响所有其他项目。

如果你问我为什么要从SVN中删除一个文件(这完全违背了源代码控制的本质):你有没有提交一个包含敏感信息的文件到你的仓库? 无论是合同,客户信息,数据库密码…