Mercurial > hg
changeset 7483:187a13bd14c6
bookmarks: add --only-bookmark option to log
author | Alexander Solovyov <piranha@piranha.org.ua> |
---|---|
date | Sat, 06 Dec 2008 14:03:30 +0200 |
parents | 42cb14f20d76 |
children | 167853c7e54a d3b6c6179323 |
files | hgext/bookmarks.py |
diffstat | 1 files changed, 15 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/bookmarks.py Sat Dec 06 16:15:59 2008 +0100 +++ b/hgext/bookmarks.py Sat Dec 06 14:03:30 2008 +0200 @@ -312,12 +312,27 @@ setcurrent(repo, rev) return res +def bookmarkonlylog(orig, ui, repo, *args, **opts): + 'Show revisions that are ancestors of given bookmark' + if opts.get('only_bookmark'): + if opts.get('rev'): + raise util.Abort(_("you cannot use --rev and --only-bookmark" + " options simultaneously")) + mark = opts['only_bookmark'] + if not mark in parse(repo): + raise util.Abort(_("invalid bookmark name")) + opts['rev'] = ['%s:null' % mark] + orig(ui, repo, *args, **opts) + def uisetup(ui): 'Replace push with a decorator to provide --non-bookmarked option' entry = extensions.wrapcommand(commands.table, 'push', pushnonbookmarked) entry[1].append(('', 'non-bookmarked', None, _("push all heads that are not bookmarked"))) if ui.configbool('bookmarks', 'track.current'): extensions.wrapcommand(commands.table, 'update', updatecurbookmark) + entry = extensions.wrapcommand(commands.table, 'log', bookmarkonlylog) + entry[1].append(('B', 'only-bookmark', '', + _("show only ancestors of given bookmark"))) cmdtable = { "bookmarks":