Subtree clone in 2016

anatoly techtonik techtonik at gmail.com
Fri Apr 22 08:39:47 UTC 2016


Nice to see that I am not alone with the need in bidirectional sync.
As an alternative to HG extensions I was looking into patching
http://www.catb.org/esr/reposurgeon/ for that.

For robustness we need a data format for exchanging rebase
events with repositories. So that in case somebody does rebase,
the sync process won't come up into a mess. Mercurial with its
changeset evolution is the best choice for master, as there would
be data no loss during the process. With Git it will probably need
to rely on content detection.

Event pipeline concept is also important to visualize and resolve
conflicts. Right now it is hard to figure out what went wrong when
conflicts arise without a tutorial and neither Mercurial or Git
supports "undo" operation. With event pipeline it could be
possible to design and debug data transformation ops easier.
Like rebasing and inserting UNLICENSE on top of synced
commits.

Actually it looks like a subject of some paper, because we need
to track "split-commits" when changes will be made both to
UNLICENSE file and some synced file in a single commit.



More information about the Mercurial mailing list