##// END OF EJS Templates
bookmarks: add revset for referencing bookmarks
Augie Fackler -
r12714:f5178fbc default
parent child Browse files
Show More
@@ -29,8 +29,9 b' branching.'
29 '''
29 '''
30
30
31 from mercurial.i18n import _
31 from mercurial.i18n import _
32 from mercurial.node import nullid, nullrev, hex, short
32 from mercurial.node import nullid, nullrev, bin, hex, short
33 from mercurial import util, commands, repair, extensions, pushkey, hg, url
33 from mercurial import util, commands, repair, extensions, pushkey, hg, url
34 from mercurial import revset
34 import os
35 import os
35
36
36 def write(repo):
37 def write(repo):
@@ -536,6 +537,26 b' def updatecurbookmark(orig, ui, repo, *a'
536 setcurrent(repo, rev)
537 setcurrent(repo, rev)
537 return res
538 return res
538
539
540 def bmrevset(repo, subset, x):
541 args = revset.getargs(x, 0, 1, _('bookmark takes one or no arguments'))
542 if args:
543 bm = revset.getstring(args[0],
544 _('the argument to bookmark must be a string'))
545 bmrev = listbookmarks(repo).get(bm, None)
546 if bmrev:
547 bmrev = repo.changelog.rev(bin(bmrev))
548 return [r for r in subset if r == bmrev]
549 bms = set([repo.changelog.rev(bin(r)) for r in listbookmarks(repo).values()])
550 return [r for r in subset if r in bms]
551 revset.symbols['bookmark'] = bmrevset
552
553 def revsetdoc():
554 doc = help.loaddoc('revsets')()
555 doc += _('\nAdded by the bookmarks extension:\n\n'
556 '``bookmark([name])``\n'
557 ' The named bookmark or all bookmarks.\n')
558 return doc
559
539 cmdtable = {
560 cmdtable = {
540 "bookmarks":
561 "bookmarks":
541 (bookmark,
562 (bookmark,
@@ -62,6 +62,28 b' list bookmarks'
62 $ hg add b
62 $ hg add b
63 $ hg commit -m 1
63 $ hg commit -m 1
64
64
65 bookmarks revset
66
67 $ hg log -r 'bookmark()'
68 changeset: 1:925d80f479bb
69 tag: X
70 tag: X2
71 tag: tip
72 user: test
73 date: Thu Jan 01 00:00:00 1970 +0000
74 summary: 1
75
76 $ hg log -r 'bookmark(Y)'
77 $ hg log -r 'bookmark(X2)'
78 changeset: 1:925d80f479bb
79 tag: X
80 tag: X2
81 tag: tip
82 user: test
83 date: Thu Jan 01 00:00:00 1970 +0000
84 summary: 1
85
86
65 bookmarks X and X2 moved to rev 1, Y at rev -1
87 bookmarks X and X2 moved to rev 1, Y at rev -1
66
88
67 $ hg bookmarks
89 $ hg bookmarks
General Comments 0
You need to be logged in to leave comments. Login now