有没有办法克隆 mercurial repo 的一部分(即 clone -r xxx),但保留指定修订之前的所有变更集,即不仅仅是祖先?
例如,给定一个如下所示的 repo:
-- 2 (branch default) -- 5 -- 8 (merge) -- 9 (merge) --
/ / /
0 -- 1 -- 3 (branch foo) ------ 6 -- /
\ /
-- 4 (branch bar) ------ 7 -------------
我只想在合并之前克隆提交,即生成的 repo 看起来像这样:
-- 2 (branch default) -- 5
/
0 -- 1 -- 3 (branch foo) ------ 6
\
-- 4 (branch bar) ------ 7
但运行
hg clone -r 7 repo repo2
只会给我提交 1、4 和 7(分支栏)。似乎获得我所追求的唯一方法是这样的:
hg clone -r 5 repo repo2
cd repo2
hg pull -r 6
hg pull -r 7
这是正确的,还是有人知道更快的方法来做到这一点?