在我工作的地方,我们有大约24个或更多的项目,使用SVN作为版本控制。我的老板对存储库非常严格,但我认为是错误的。例如,我们总是有一个“Current”分支用于开发,它在发布之前被合并到Trunk中。出于所有其他目的,“当前”是主干,我们不会创建更多分支。同样,他对文件内容很挑剔,最明确的是,项目文件中的所有引用都必须遵循项目之间的“平面”目录结构(即一个目录中的所有项目文件夹。)
现在,我认为我可以让生活更轻松的一种方法是在本地使用Bazaar,这样我就可以在自己的分支机构中处理功能,在本地进行频繁的提交(进行变更跟踪),可能会重新组织我的项目,以及让我的生活更轻松。
除了我不能完全了解Bazaar的存储库结构之外!标准似乎是
Project-Repo (Shared Repo)
/Project-Trunk (Bound to SVN)
/Project-Feature1 (Branch of Trunk)
/Project-Feature2 (Branch of Trunk)
有些项目对其他项目有多达六个或更多的引用。大多数功能都需要在任何给定时间更改至少2个项目。我不知道如何处理。如果我将功能分支拆分为其他文件夹,我将失去共享存储库的好处。如果我将它们留在原地,那么每次我需要为新功能分支项目时,我将不得不重新配置所有引用。
我能想到的最好的办法就是处理缺少共享回购的问题并做这样的事情:
Branches
/Feature1
/ProjectA-Branch
/ProjectB-Branch
/Feature2
/ProjectB-Branch
/ProjectC-Branch
将所有中继存储为单独的repos,只是为了合并和最终提交回SVN。
这是我能用Bazaar获得的最佳布局还是我不知道的技术?考虑到它应该是多么常见,存储库布局是一项非常具有挑战性的工作。
答案 0 :(得分:1)
我认为,鉴于他们都有扁平本地名称的限制,这可能是最好的设置。
如果您不打算修改它们,您可以使其中一些目录实际上不是整个分支,而只是检查公共分支。