Mercurial管理多个存储库

时间:2011-01-21 16:18:24

标签: mercurial

我们有一个存储库myproject - 由于repo已准备好发布,我们正在创建myproject-1_0。版本2开发将继续myproject,而小修改和错误修复将进入myproject-1_0。将myproject-1_0更改合并到myproject的最佳方式是什么?

这是最好的方法吗?

$ cd myproject
$ hg pull ../myproject-1_0
$ hg merge
$ hg commit -m 'Merge bugfix from 1.0 branch'
$ hg push

如果我们在2月1日进行合并会发生什么,那么我们在myproject-1_0进行了更多更改?我们是否会再次执行这些步骤,hg pull ../myproject-1_0只会在2月1日拉动后完成变更设置?

myproject回购中,有没有办法hg log并确定哪些变更集来自myproject-1_0哪些变更集来自myproject

关于这种一般方法还有其他建议吗?

2 个答案:

答案 0 :(得分:6)

顺序问题:

  • 这是最好的方法吗? - ,除非您想使用命名分支并将所有内容保存在一个存储库中
  • 只会在2月1日拉动后完成变更设置? -
  • 有没有办法hg log并确定哪些变更集来自myproject-1_0? -

不幸的是,除非您开始使用命名分支,否则源自另一个存储库的更改集与主存储库中的更改集没有什么不同。

答案 1 :(得分:4)

所以这就是Mercurial的目的

我建议你看看http://www.hginit.com。但是你要问的是,当你进行更改时,它只会拉动自上次拉动以来的变化,是的。但是,您无法分辨哪些变更集来自不同的克隆,只会在您正在考虑的想法中跟踪用户名。

如果你想知道事情的来源,你可以在提交消息中做些什么。