English 中文(简体)
我该拥有一个还是多个库?
原标题:
  • 时间:2009-02-20 20:35:09
  •  标签:

我发现自己在问这个问题:我应该为这个客户的所有项目建立一个仓库,还是应该为每个项目建立单独的仓库?

你通常决定哪一个? (nǐ tōngcháng juédìng nǎ yīgè?)

请列出哪种方法的优点和缺点,以便于你做出决定。

请将此翻译成中文:编辑:请将此标记为以下其中一个的副本:

一个 SVN 存储库还是多个?

我应该将所有项目存储在一个存储库中还是多个存储库中?

最佳回答

我有一个大型代码库,出于与Ken答案相同的原因:

一个 SVN 仓库还是多个?

问题回答

我在"一切"中使用单一存储库,因为它使在项目之间移动东西更加容易 - 至少在 SVN 中是如此。

我为每个项目创建了一个存储库,因为这样可以保持版本号独立。我遵循了TortoiseSVN帮助部分4.1.5“存储库布局”中提出的思路。

如果项目之间没有密切关联且每个项目都是单独检出的,则按项目进行索引是有意义的。

我在这种情况下使用SVN来进行本地备份,因此对我来说很有意义。

我在一个.NET开发店工作,我们有两个Visual SourceSafe存储库。一个用于我们的遗留.NET 1.1应用程序,另一个用于我们的较新的.NET 2.0/3.0/3.5应用程序。

我能想到的只有一个不把所有内容放在一个存储库中的原因,那就是如果您无法访问配置服务器,则需要将存储库的某些部分限制在不同的人群中。

我们有一个中央管理的服务器,可以根据需要创建存储库,但无法更改配置。我们有一个主要的代码存储库,仅供内部使用,但创建其他存储库以与组织外的人进行协作。

我们每个项目类型和访问它的人都有一个存储库。例如,我们所有的.NET项目都在单个存储库中,而我们所有的旧版应用程序都在单个存储库中。这样我们的.NET开发人员就不会意外地损坏我们的旧版开发人员(反之亦然)。

我以前在所有项目中使用一个仓库,直到它变得非常庞大,提交到项目变得非常缓慢 - 这是使用Subversion。 如果您的项目将保存大量数据,尤其是二进制数据,则建议使用单独的存储库。 如果您主要只存储代码,则单个存储库更容易维护。

我使用多个仓库——虽然我承认在组织代码方面,我有些强迫症,我喜欢事情非常有条理和独特。

我管理我們公司的 SCM 存儲庫,目前我們有三個:一個用於主要項目,一個用於包裝/庫,另一個用於第三方代碼。如果我再做一次,我還會為媒體文件創建一個單獨的存儲庫(我們有許多需要版本控制的 mp3 / wav 文件),但不幸的是,它們在我們的主要存儲庫下。

我认为,使用多个仓库的唯一有力论据(除了强迫症式的组织)是,它使得更容易处理每个仓库的访问权限,而在某些SCM环境下,对于单个仓库下的多个路径,这样做可能并不容易。

我几乎用 Git 来做所有的事情。因此,我每个项目都有一个仓库(无论是 /etc、编码项目还是用户配置文件)。

如果您将所有内容使用一个存储库,那么设置自动化构建或进行持续集成就更加困难。即使您现在不打算这样做,现在设置也不是一个坏主意,这还可以让您更轻松地管理内容。

一个好的经验法则是为每个独特的解决方案项目创建一个代码仓库。

如果您有不共享任何内容的解决方案,请为每个创建一个存储库。另一个例子是,如果您有一个应用程序的.NET 1.1版本,并且想要创建一个2.0版本的应用程序,请分支您的代码并为新代码创建一个单独的存储库,这也可以用于.NET 3.0和.NET 3.5。





相关问题
热门标签