我不是SCM工具的实验用户,当然,尽管我确信它们有用.我在以前的工作中使用了一些模糊的商业工具,在当前的工作中使用了Perforce,并且在我的小个人项目中使用了TortoiseSVN,但我不喜欢在这个地方有很多.svn文件夹,进行搜索,备份等等难.然后我发现了分布式SCM的兴趣,我选择了显然更简单(比git)的Mercurial方式,仍然是为了我个人的个人需求.我正在学习正确使用它,阅读了部分维基并处于优秀PDF书籍的中间.
我经常重复,例如在Mercurial的工作实践中," 不要犹豫在本地使用多棵树.Mercurial使这种快速和轻量级. "和" 为你工作的每个功能,创建一个新的树. ".这些都是有趣而明智的建议,但是它们对集中式SCM的一些习惯有点伤害,我们有一个"神圣"的中央存储库,其中分支机构经过精心策划(并由管理员处理),变更列表必须由(高级)同行检查,一定不要打破构建等等:-)开始在新分支上工作需要相当长的时间......
因此,鉴于上述情况,我有两个问题:
在IDE等环境中,做很多克隆有多实用?如果项目有配置/设置文件,makefile或Ant脚本或shell脚本或其他什么需要路径更新,该怎么办?(是的,可能是一个坏主意...)例如,在Eclipse中,如果我想编译并运行一个克隆,我必须做另一个项目,调整Java构建路径,运行/调试目标,等等.除非Eclipse插件可以轻松完成该任务.我在这里想念一些设施吗?
这个规模怎么样?我已经阅读过Hg可以用于大型代码库,但我很困惑.在我的工作中,我们有一个Java应用程序(好吧,几个围绕一个很常见的内核),大约有两百万行,单独为代码加权大约110MB.在旧的(2004)Windows工作站上进行干净的编译需要大约15分钟来生成50MB的类文件!我没有看到自己克隆整个项目来更改3个文件.那么这里的做法是什么?
我还没有看到我的阅读中提到的这些问题,所以我希望这会成为一个有用的线索.