2009-02-20 64 views
7

我发现自己问的问题是:我应该为此客户的所有项目创建一个存储库吗?还是应该为每个存储库分别创建一个存储库?我应该有1个还是多个存储库?

你通常决定哪个?

请列出导致您决定的两种方法的优缺点。

编辑:请标记为重复下列之一:

One SVN repository or many?

Should I store all projects in one repository or multiple?

+0

确实,堆栈的搜索没有看到他们与我使用的术语。 – 2009-02-20 20:51:27

+0

我们不能合并这些问题,但我们可以吗?我会保持这种状态,因为更多的回应比更少的回应更好。指向其他问题的指针应该足够了。 – 2009-02-22 19:52:36

+0

我搜索了“我应该有1个还是多个存储库?” (你的问题)和上面编辑中的链接是列表中的#2。我认为没有任何合并,另一个Q没有链接到这个。没有更好的。 – Bratch 2009-02-23 21:54:29

回答

1

我用一个单一的存储库的“一切”,因为它使项目之间移动的东西容易得多 - 在至少与SVN。

0

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

0

只有一个原因,我可以考虑不把它放在一个存储库中。这就是说,如果您无权配置存储库所在的服务器,并且您需要将存储库的某些部分限制为不同的人员。

我们有一个集中管理的服务器,我们可以根据需要创建存储库,但不能更改配置。我们有一个仅供内部使用的主代码存储库,但创建更多的代码库以便与组织外的人员协作。

1

我有一个每个项目的存储库,因为它保持版本号独立。我跟着TortoiseSVN的帮助部分4.1.5“版本库布局”中规定的思考:

索引由项目有道理的,如果项目不是密切相关,而且每一个是单独被检出。

我在这种情况下使用SVN进行自己的本地备份,所以对我来说很合理。

0

我们有一个存储库,每种类型的项目和访问它的人的类型。例如,我们所有的.NET项目都位于一个存储库中,而我们所有的旧应用程序都位于一个存储库中。这样,我们的.NET开发人员就不会意外地使我们的传统开发人员流失(反之亦然)。

0

我曾经为所有项目使用一个存储库,直到它变得非常大以至于对该项目的承诺实际上变慢了 - 这是对Subversion的影响。如果您的项目要保存大量数据,尤其是二进制数据,那么我建议使用单独的存储库。如果您主要只是存储代码,那么单个存储库更容易维护。

0

我使用了几个存储库 - 尽管我承认,当涉及到组织代码时,我已经有了一些强迫症,并且我喜欢事情要非常有组织和独特。

我在我们公司管理SCM回购,目前我们有三个:一个用于主要项目,一个用于软件包/库,另一个用于第三方代码。如果我要再做一次,我还会为媒体文件创建一个单独的存储库(我们有许多需要进行版本控制的mp3/wav文件),但是,可惜它们在我们的主要存储库下。

我认为使用多个存储库(除了被强制组织)的唯一有力论据是它可以更容易地处理每个这些回购的访问权限,而根据您的SCM环境,这可能不是这样易于在单个回购站点下的多条路径。

0

我几乎所有的东西都使用git。所以我有一个每个项目的存储库(无论是/ etc,编码项目或用户配置文件)。

0

如果您使用一个存储库来创建自动构建或继续集成,那么它会变得更加困难。即使您现在不打算这样做,现在设置它也不失为一个好主意,这也让您更容易管理您的内容。

一个好的经验法则是为每个不同的解决方案\项目组创建一个存储库。

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

相关问题