comparison mercurial/revset.py @ 13914:27573f2ddfb9

revset: abort when tag or bookmark doesn't exist
author Idan Kamara <idankk86@gmail.com>
date Thu, 07 Apr 2011 19:24:16 +0300
parents ba669bc7f851
children 8f81d6f4047f
comparison
equal deleted inserted replaced
13913:d3f90ff904b8 13914:27573f2ddfb9
662 cl = repo.changelog 662 cl = repo.changelog
663 if args: 663 if args:
664 tn = getstring(args[0], 664 tn = getstring(args[0],
665 # i18n: "tag" is a keyword 665 # i18n: "tag" is a keyword
666 _('the argument to tag must be a string')) 666 _('the argument to tag must be a string'))
667 if not repo.tags().get(tn, None):
668 raise util.Abort(_("tag '%s' does not exist") % tn)
667 s = set([cl.rev(n) for t, n in repo.tagslist() if t == tn]) 669 s = set([cl.rev(n) for t, n in repo.tagslist() if t == tn])
668 else: 670 else:
669 s = set([cl.rev(n) for t, n in repo.tagslist() if t != 'tip']) 671 s = set([cl.rev(n) for t, n in repo.tagslist() if t != 'tip'])
670 return [r for r in subset if r in s] 672 return [r for r in subset if r in s]
671 673
681 if args: 683 if args:
682 bm = getstring(args[0], 684 bm = getstring(args[0],
683 # i18n: "bookmark" is a keyword 685 # i18n: "bookmark" is a keyword
684 _('the argument to bookmark must be a string')) 686 _('the argument to bookmark must be a string'))
685 bmrev = bookmarksmod.listbookmarks(repo).get(bm, None) 687 bmrev = bookmarksmod.listbookmarks(repo).get(bm, None)
686 if bmrev: 688 if not bmrev:
687 bmrev = repo[bmrev].rev() 689 raise util.Abort(_("bookmark '%s' does not exist") % bm)
690 bmrev = repo[bmrev].rev()
688 return [r for r in subset if r == bmrev] 691 return [r for r in subset if r == bmrev]
689 bms = set([repo[r].rev() 692 bms = set([repo[r].rev()
690 for r in bookmarksmod.listbookmarks(repo).values()]) 693 for r in bookmarksmod.listbookmarks(repo).values()])
691 return [r for r in subset if r in bms] 694 return [r for r in subset if r in bms]
692 695