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.
% no repo
abort: There is no Mercurial repository here (.hg not found)
% create repo
adding a
% basic id usage
cb9a9f314b8b tip
cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b tip
cb9a9f314b8b
cb9a9f314b8b tip
% with options
cb9a9f314b8b tip
0
tip
default
cb9a9f314b8b
cb9a9f314b8b 0 default tip
% with modifications
cb9a9f314b8b+ 0+ default tip
% other local repo
cb9a9f314b8b+ tip
cb9a9f314b8b+ tip
% with remote http repo
cb9a9f314b8b
% remote with tags?
abort: can't query remote revision number, branch, or tags