# HG changeset patch # User Michael O'Connor # Date 2014-08-12 03:45:08 # Node ID 3efe3c2609e003bdd5eb4b7f160d9b8c15d5a214 # Parent 42b1344656f7ea0a73af7f3761c29fb5966f217f revset: bookmark revset interprets 'literal:' prefix correctly (issue4329) diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -449,7 +449,7 @@ def bookmark(repo, subset, x): _('the argument to bookmark must be a string')) kind, pattern, matcher = _stringmatcher(bm) if kind == 'literal': - bmrev = repo._bookmarks.get(bm, None) + bmrev = repo._bookmarks.get(pattern, None) if not bmrev: raise util.Abort(_("bookmark '%s' does not exist") % bm) bmrev = repo[bmrev].rev() diff --git a/tests/test-bookmarks.t b/tests/test-bookmarks.t --- a/tests/test-bookmarks.t +++ b/tests/test-bookmarks.t @@ -98,6 +98,14 @@ bookmarks revset date: Thu Jan 01 00:00:00 1970 +0000 summary: 1 + $ hg log -r 'bookmark("literal:X")' + changeset: 0:f7b1eb17ad24 + bookmark: X + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: 0 + + $ hg log -r 'bookmark(unknown)' abort: bookmark 'unknown' does not exist [255]