mercurial/revset.py
changeset 12715 33820dccbea4
parent 12616 e797fdf91df4
child 12716 c7e619e30ba3
equal deleted inserted replaced
12714:f5178fbcd197 12715:33820dccbea4
   465     repo.ui.popbuffer()
   465     repo.ui.popbuffer()
   466     cl = repo.changelog
   466     cl = repo.changelog
   467     o = set([cl.rev(r) for r in repo.changelog.nodesbetween(o, revs)[0]])
   467     o = set([cl.rev(r) for r in repo.changelog.nodesbetween(o, revs)[0]])
   468     return [r for r in subset if r in o]
   468     return [r for r in subset if r in o]
   469 
   469 
   470 def tagged(repo, subset, x):
   470 def tag(repo, subset, x):
   471     getargs(x, 0, 0, _("tagged takes no arguments"))
   471     args = getargs(x, 0, 1, _("tag takes one or no arguments"))
   472     cl = repo.changelog
   472     cl = repo.changelog
   473     s = set([cl.rev(n) for t, n in repo.tagslist() if t != 'tip'])
   473     if args:
       
   474         tn = getstring(args[0],
       
   475                        _('the argument to tag must be a string'))
       
   476         s = set([cl.rev(n) for t, n in repo.tagslist() if t == tn])
       
   477     else:
       
   478         s = set([cl.rev(n) for t, n in repo.tagslist() if t != 'tip'])
   474     return [r for r in subset if r in s]
   479     return [r for r in subset if r in s]
   475 
   480 
   476 symbols = {
   481 symbols = {
   477     "adds": adds,
   482     "adds": adds,
   478     "all": getall,
   483     "all": getall,
   503     "present": present,
   508     "present": present,
   504     "removes": removes,
   509     "removes": removes,
   505     "reverse": reverse,
   510     "reverse": reverse,
   506     "roots": roots,
   511     "roots": roots,
   507     "sort": sort,
   512     "sort": sort,
   508     "tagged": tagged,
   513     "tag": tag,
       
   514     "tagged": tag,
   509     "user": author,
   515     "user": author,
   510 }
   516 }
   511 
   517 
   512 methods = {
   518 methods = {
   513     "range": rangeset,
   519     "range": rangeset,