Mercurial > public > mercurial-scm > hg
diff mercurial/revset.py @ 13602:54b198fe9768
revset: add a revset command to get bisect state.
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Sat, 12 Mar 2011 18:48:30 +0100 |
parents | cc4721ed7a2a |
children | e798e430c5e5 |
line wrap: on
line diff
--- a/mercurial/revset.py Sat Mar 12 17:08:42 2011 +0100 +++ b/mercurial/revset.py Sat Mar 12 18:48:30 2011 +0100 @@ -6,7 +6,7 @@ # GNU General Public License version 2 or any later version. import re -import parser, util, error, discovery, help +import parser, util, error, discovery, help, hbisect import bookmarks as bookmarksmod import match as matchmod from i18n import _ @@ -683,12 +683,27 @@ for r in bookmarksmod.listbookmarks(repo).values()]) return [r for r in subset if r in bms] +def bisected(repo, subset, x): + """``bisected(string)`` + Changesets marked in the specified bisect state (good, bad, skip). + """ + state = getstring(x, _("bisect requires a string")).lower() + if state not in ('good', 'bad', 'skip', 'unknown'): + raise ParseError(_('invalid bisect state')) + marked = set(repo.changelog.rev(n) for n in hbisect.load_state(repo)[state]) + l = [] + for r in subset: + if r in marked: + l.append(r) + return l + symbols = { "adds": adds, "all": getall, "ancestor": ancestor, "ancestors": ancestors, "author": author, + "bisected": bisected, "bookmark": bookmark, "branch": branch, "children": children,