shrink-revlog: add "reverse postorder" and "postorder reverse" toposorts.
Based on a patch by Benoit Boissinot, adapted to the pluggable sort
algorithm design. toposort_reversepostorder() is a very good
performer; it's designed to recreate what the revlog would have looked
like if Mercurial had parent deltas now. toposort_postorderreverse()
is unstable and very inconsistent, but perhaps with some work it could
be made better.
% Repository data:
Some stuff to ponder very carefully.
% Fresh checkout:
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Copyright 2046, The Masters
Some stuff to ponder very carefully.
M stuff.txt
% Problem encoding:
abort: missing header "Copyright 2046, The Masters" in morestuff.txt
M stuff.txt
A morestuff.txt