我发现自己在问这个问题:我应该为这个客户的所有项目建立一个仓库,还是应该为每个项目建立单独的仓库?
你通常决定哪一个? (nǐ tōngcháng juédìng nǎ yīgè?)
请列出哪种方法的优点和缺点,以便于你做出决定。
请将此翻译成中文:编辑:请将此标记为以下其中一个的副本:
一个 SVN 存储库还是多个?
我应该将所有项目存储在一个存储库中还是多个存储库中?
我发现自己在问这个问题:我应该为这个客户的所有项目建立一个仓库,还是应该为每个项目建立单独的仓库?
你通常决定哪一个? (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。