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