[PATCH] bookmarks: add --only-bookmark option to log

David Soria Parra sn_ at gmx.net
Sat Dec 6 08:20:00 CST 2008


Hi Alex,

thanks for the patch. It would be great if someone else comment on this
patch as it adds functionallity to hg log and I'm not sure if that's 
desired. If there are no objections I will apply the patch.

David

Alexander Solovyov schrieb:
> # HG changeset patch
> # User Alexander Solovyov <piranha at piranha.org.ua>
> # Date 1228565010 -7200
> # Node ID 5739457bd2d8053736b56e5a1bd3c7ed901648c2
> # Parent  5f681a143eded72d4bf9b95682ecffc46460da74
> bookmarks: add --only-bookmark option to log
> 
> diff --git a/hgext/bookmarks.py b/hgext/bookmarks.py
> --- a/hgext/bookmarks.py
> +++ b/hgext/bookmarks.py
> @@ -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":



More information about the Mercurial-devel mailing list