2010-09-02 45 views

回答

2

我认为这取决于MainProj1和MainProj2之间的关系。如果他们非常相关,那么使用相同的回购。

为每个项目创建不同的回购可用于独立跟踪历史记录,合并和分支。如果两个项目都在同一个回购仓库中,但仍然可以这样做,但在不同回购仓库中使用它们只会使其变得更简单。

也考虑可维护性。随着项目的发展,维护这个存储库以及两个带有子项目的主要项目可能会变得更加复杂。

除非两个项目都彼此非常相关,否则我会去单独的存储库。

3

无论哪种方式都有效,但我发现在企业开发团队中工作时,使用第二种方法(将MainProj2放入SVNREPO1中)更容易。我之所以这么说,是因为它更容易告诉新员工所处的位置,而且每个人都必须去一个地方才能得到消息来源。唯一的缺点可能是你的回购可能会变得非常大,你最初的下载可能需要很长时间。没有什么说你必须一次下载整个事情,但如果你不打算这样做,你可能会有单独的回购。

/SVN-REPO1 
    /MainProj1/ 
     /trunk 
     /branches 
     /tags 
    /MainProj2/ 
     /trunk 
     /branches 
     /tags 
+0

此方法的另一个缺点是,如果您稍后决定要单独进行回购,或者如果客户希望您从回购站转储他们的项目,以便他们可以将其导入自己的回购等,那么您可能会持续很长时间,等待svn dump命令运行,然后从结果日志文件中筛选出它们的提交。根据您当前的整体回购规模有多大,您可能会说几个小时或几天。有关更多信息,请参阅http://serverfault.com/questions/309464/how-can-i-estimate-the-final-size-and-processing-time-necessary-to-dump-my-entir。 – 2011-12-08 18:07:02

1

您现在需要的是,如果您使用相同的存储库,则所有项目的版本号都会增加。这使得更难以快速知道您的项目中是否有新的提交,只需遵循最新版本号。

如果您授予您单个存储库的访问权限,则需要确保您通过子文件夹(每个项目)进行限制,这很容易出错。

这就是为什么我为每个项目创建一个存储库的原因。对于项目之间的联系,很容易设置将显示关系的外部。

良好互连的小单元通常更易于管理。如果您有一个好的项目管理软件,创建存储库和访问权限的管理非常简单。检查Svn Access ManagerIndefero,他们做得很好。

相关问题