equal
deleted
inserted
replaced
6 # GNU General Public License version 2 or any later version. |
6 # GNU General Public License version 2 or any later version. |
7 |
7 |
8 import re |
8 import re |
9 import parser, util, error, discovery, hbisect, phases |
9 import parser, util, error, discovery, hbisect, phases |
10 import node |
10 import node |
11 import bookmarks as bookmarksmod |
|
12 import match as matchmod |
11 import match as matchmod |
13 from i18n import _ |
12 from i18n import _ |
14 import encoding |
13 import encoding |
15 import obsolete as obsmod |
14 import obsolete as obsmod |
16 import repoview |
15 import repoview |
373 bm = getstring(args[0], |
372 bm = getstring(args[0], |
374 # i18n: "bookmark" is a keyword |
373 # i18n: "bookmark" is a keyword |
375 _('the argument to bookmark must be a string')) |
374 _('the argument to bookmark must be a string')) |
376 kind, pattern, matcher = _stringmatcher(bm) |
375 kind, pattern, matcher = _stringmatcher(bm) |
377 if kind == 'literal': |
376 if kind == 'literal': |
378 bmrev = bookmarksmod.listbookmarks(repo).get(bm, None) |
377 bmrev = repo._bookmarks.get(bm, None) |
379 if not bmrev: |
378 if not bmrev: |
380 raise util.Abort(_("bookmark '%s' does not exist") % bm) |
379 raise util.Abort(_("bookmark '%s' does not exist") % bm) |
381 bmrev = repo[bmrev].rev() |
380 bmrev = repo[bmrev].rev() |
382 return [r for r in subset if r == bmrev] |
381 return [r for r in subset if r == bmrev] |
383 else: |
382 else: |
384 matchrevs = set() |
383 matchrevs = set() |
385 for name, bmrev in bookmarksmod.listbookmarks(repo).iteritems(): |
384 for name, bmrev in repo._bookmarks.iteritems(): |
386 if matcher(name): |
385 if matcher(name): |
387 matchrevs.add(bmrev) |
386 matchrevs.add(bmrev) |
388 if not matchrevs: |
387 if not matchrevs: |
389 raise util.Abort(_("no bookmarks exist that match '%s'") |
388 raise util.Abort(_("no bookmarks exist that match '%s'") |
390 % pattern) |
389 % pattern) |
392 for bmrev in matchrevs: |
391 for bmrev in matchrevs: |
393 bmrevs.add(repo[bmrev].rev()) |
392 bmrevs.add(repo[bmrev].rev()) |
394 return [r for r in subset if r in bmrevs] |
393 return [r for r in subset if r in bmrevs] |
395 |
394 |
396 bms = set([repo[r].rev() |
395 bms = set([repo[r].rev() |
397 for r in bookmarksmod.listbookmarks(repo).values()]) |
396 for r in repo._bookmarks.values()]) |
398 return [r for r in subset if r in bms] |
397 return [r for r in subset if r in bms] |
399 |
398 |
400 def branch(repo, subset, x): |
399 def branch(repo, subset, x): |
401 """``branch(string or set)`` |
400 """``branch(string or set)`` |
402 All changesets belonging to the given branch or the branches of the given |
401 All changesets belonging to the given branch or the branches of the given |