Mercurial > public > mercurial-scm > hg-stable
diff mercurial/hbisect.py @ 15135:f19de58af225
revset.bisect: move bisect() code to hbisect.py
Computing the ranges of csets in the bisection belongs to the hbisect
code. This allows for reusing the status computation from many places,
not only the revset code, but also to later display the bisection status
of a cset...
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
author | "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> |
---|---|
date | Sat, 17 Sep 2011 00:20:45 +0200 |
parents | 774da7121fc9 |
children | 18219c0789ae |
line wrap: on
line diff
--- a/mercurial/hbisect.py Sun Sep 18 22:54:11 2011 +0200 +++ b/mercurial/hbisect.py Sat Sep 17 00:20:45 2011 +0200 @@ -8,7 +8,7 @@ # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. -import os +import os, error from i18n import _ from node import short, hex import util @@ -154,3 +154,14 @@ finally: wlock.release() +def get(repo, status): + """ + Return a list of revision(s) that match the given status: + + - ``good``, ``bad``, ``skip``: as the names imply + """ + state = load_state(repo) + if status in ('good', 'bad', 'skip'): + return [repo.changelog.rev(n) for n in state[status]] + else: + raise error.ParseError(_('invalid bisect state'))