hg-fast-export: Compare HG revisions when merging
authorMatthias Urlichs <smurf@smurf.noris.de>
Sun, 16 Nov 2008 14:43:44 +0000 (15:43 +0100)
committerFrej Drejhammar <frej.drejhammar@gmail.com>
Mon, 23 Feb 2009 17:38:26 +0000 (18:38 +0100)
commit0306977b28dd98e0e98d65c68d7381316d2d4510
treea3cd795e0494a9956f86d2fc7c1282506e64a5ed
parent688623f17e60e713ad687fee62cdbe3cecace3cd
hg-fast-export: Compare HG revisions when merging

hg-fast-export uses hg's branch order (from the log) when merging,
this is a problem. Consider the case:

HG repo A  has revisions 1-10. Repository B is cloned from that.
Subsequently, A adds revision 11, and B adds a different change which
also has revision 11. If B now pulls from A, A's rev11 will have the
number 12; if A then pulls from B, the reverse also holds. So the logs
are different even though they contain the exact same changes.

hg-fast-export will thus create different git repositories for A and B,
even though the contents are identical for all practical purposes.
In particular, the repos would be identical if A and B had used git from
the beginning.

To fix that, compare HG revisions instead of log positions.
hg-fast-export.py