Чтение здесь: http://blog.experimentalworks.net/2009/03/merge-vs-rebase-a-deep-dive-into-the-mysteries-of-revision-control/
и здесь:
https://www.mercurial-scm.org/wiki/RebaseExtension
Я похож, что я хотел достичь можно сделать с помощью перебазирования, с некоторыми оговорками.
Я вывожу изменения из более нового репо в более старое репо. Это приводит к двум голосам, поскольку оба репозитория имеют только ветвь «default». В папке старшего репо, я побежал:
hg pull -f ../newer-repo
Тогда я должен использовать фазы ¯hG, чтобы сделать тянули изменения пластичным. Обычно это плохая идея, но поскольку я знаю, что я единственный разработчик в этом проекте, я могу сделать это безопасно.
hg phase -f -d -r 15 16 ...
Наконец, я могу теперь перебазироваться, потому что история тянут в от более новых репо начинается с того же состояния, как последний список изменений в старом репо.
hg rebase -s 15 -d 14
У меня есть одна история и никаких конфликтов. Это, вероятно, не будет работать для всех, но в этом узком обстоятельстве это было именно то, что было необходимо.