我已经和mercurial合作了一段时间,感觉这对我的工作来说是一笔巨大的财富。很高兴永远不会再把代码搞砸了。
我喜欢这个工作流程,并希望在我的所有项目上设置版本控制。 以下两个替代方案的最佳选择是什么?
备选方案A:
/repo/
/repo/ownWork/
/project1/
/repo/clients/
/client1/
备选方案B:
/repo/project1/
/repo/client1/
答案 0 :(得分:2)
我认为没有“正确”的答案。与许多事情一样,这取决于 就个人而言,我为每个项目都有一个单独的存储库,可能还有一个或多个共享代码存储库。使用分布式源代码控制,您必须检查/克隆整个存储库,而不仅仅是像SVN那样的子文件夹。因此,我希望尽可能保持每个项目/客户端的自包含,但如有必要,也可以克隆共享存储库。
但是,我仍然维护一个“中央”Web服务器来托管它们。我喜欢“分布式”,我也喜欢'集中': - )
关于hg的好处是,无论如何,看起来(对我的新手眼睛来说)随着时间的推移很容易切割并改变你的布局/结构。
答案 1 :(得分:1)
在mercurial中,以后组合repos非常容易,但不能在不使现有克隆无效的情况下将它们分开。如果它变得麻烦,则开始分开并稍后合并。考虑项目间共享代码的子库。