localrepo: add set method to iterate over a given revset
This should allow replacing a number of hand-rolled graph algorithms.
revset: allow bypassing alias expansion
For internal usage of revset queries, we don't want aliases breaking things.
subrepo: don't commit in subrepo if it's clean
If a subrepo has changed relative to the outer repo's substate, but the
subrepo itself is clean, we don't need to commit in the subrepo.
rebase: block collapse with keepbranches on multiple named branches (
issue2112)
Collapse and keepbranches should be blocked when there is more than
one named branch on the branch that's going to be rebased.
hbisect: do not assume that min(good) is an ancestor of min(bad)
The included test used to report "inconsistent state", which is
incorrect. While this situation cannot occur when the user sticks to
the suggested bisect sequence. However, adding more consistent
good/bad information to the bisect state should be tolerated as well.
hbisect: confine loop to the relevant interval
In this context we know that ancestors[rev] == None for all rev <= goodrev,
so looping further back is unnecessary (and confusing).