我正试图找出最初构建我们的Subversion存储库的最佳方法。
最佳做法是为下面的每个项目创建一个初始存储库,然后创建子存储库吗?
哪些存储库应该创建一个trunk,branch等?
另外,我听说最好不要在根级存储库上创建trunk,branch和tags文件夹?
我知道当我在另一个团队时,我们拉了让我们说ProjectA但它没有拉下一个主干,分支文件夹这很好但我不知道这是如何在服务器上构建这样的事情。
答案 0 :(得分:14)
如果你想在存储库中保留多个项目,我会选择这个结构
/project1
/trunk
/branches
/tags
/project2
/trunk
/branches
/tags
...
如果您只想保留一个项目,那么:
/trunk
/branches
/tags
答案 1 :(得分:8)
为了避免将来的维护问题,除非您拥有大量代码,或者想要完全删除包含大量代码的项目,否则请将所有内容保存在一个存储库中。然后为每个项目创建目录。然后,如果您想按照Subversions推荐,请在每个项目的文件夹下放置“trunk”,“branches”和“tags”文件夹。
答案 2 :(得分:5)
我更喜欢细粒度,非常有组织,自包含,结构化的存储库。有一个diagram说明了存储库维护过程的一般(理想)方法。例如,我的初始存储库结构(每个项目存储库应该具有)是:
/project
/trunk
/tags
/builds
/PA
/A
/B
/releases
/AR
/BR
/RC
/ST
/branches
/experimental
/maintenance
/versions
/platforms
/releases
答案 3 :(得分:4)
答案 4 :(得分:1)
保留单独的存储库允许您基于每个存储库自定义备份计划和存储位置。此外,如果您偶尔需要深入了解存储库并执行一些维护或清理操作(比如,您想要完全删除回购中的提交...很少但可能)保留单独的存储库将允许您以最小的干扰执行此操作其他用户和其他回购。
话虽如此 - 对于小型项目,这些事情通常不是一个大问题。我给 trunk / branches / tags 设置提供了另一个衷心的建议。