我们有A团队、B团队和C团队,每个团队都有12名开发人员。每个团队至少有10个独立的项目。A团队可以看到所有人的代码,B团队和C团队只能看到自己的代码。此外,一些开发人员只有只读访问权限,而其他人则具有完全访问权限。
因此,在CVS中,我们有三个存储库,一个用于每个团队。就像这样:
/cvsroot/TeamARepos/project1
/cvsroot/TeamARepos/project2
/cvsroot/TeamBRepos/project1
/cvsroot/TeamBRepos/project2
/cvsroot/TeamCRepos/project1
/cvsroot/TeamCRepos/project2
等等,我可以管理整个代码库并且让John Doe对A只有只读权限,对B有写入权限,而对C没有访问权限 - 因此我不必为每个项目都给他显式的访问权限(而且新项目经常添加,所以我不必每次都把每个人都添加到每个新项目中)。
我的理解是,GIT中每个项目都有一个代码库。因此,没有一种真正的逻辑方式来说“所有A团队的代码都在这里,这些用户可以对其进行编写”,以及“所有B团队的代码都在这里,这些用户可以阅读它”,并将其保持分离。
我甚至不确定如何正确地提出问题 - 但我想象将移动到GIT会成为一个管理噩梦。
我们还使用ant脚本从CVS检出代码,进行构建并部署到服务器。我刚开始看,但我希望ant在这方面与GIT很好地配合。