Some open issues:
1. Would be nice if 'hg clone --rev' (without explicit --pull) would
automatically relink the new clone against the origin.
2. If you push a lot of changesets to parallel branches which get cross-merged a
lot (as NetBeans developers do), so many changesets will be stored in the two
repos in opposite local order that the opportunities for relinking will be
substantially reduced: the *.i files will differ in binary content even if the
two repos hold the exact same set of changesets. A possible solution is to have
a separate command (or option?) to first canonicalize one or both repos: rebuild
the changelog and revlogs with changesets topologically sorted with children of
a parent node traversed in e.g. date order. This would mean that revlogs for
files not touched since the last common ancestor of the two repos would be
guaranteed to have identical content on disk and could be linked.
|