mercurial/revset.py
changeset 14357 cb4ff8ef466b
parent 14343 9ed227f79e47
parent 14356 02a5bebd0dc4
child 14509 4f695345979c
equal deleted inserted replaced
14352:077cdf172580 14357:cb4ff8ef466b
   331     getargs(x, 0, 0, _("closed takes no arguments"))
   331     getargs(x, 0, 0, _("closed takes no arguments"))
   332     return [r for r in subset if repo[r].extra().get('close')]
   332     return [r for r in subset if repo[r].extra().get('close')]
   333 
   333 
   334 def contains(repo, subset, x):
   334 def contains(repo, subset, x):
   335     """``contains(pattern)``
   335     """``contains(pattern)``
   336     Revision contains pattern.
   336     Revision contains a file matching pattern. See :hg:`help patterns`
       
   337     for information about file patterns.
   337     """
   338     """
   338     # i18n: "contains" is a keyword
   339     # i18n: "contains" is a keyword
   339     pat = getstring(x, _("contains requires a pattern"))
   340     pat = getstring(x, _("contains requires a pattern"))
   340     m = matchmod.match(repo.root, repo.getcwd(), [pat])
   341     m = matchmod.match(repo.root, repo.getcwd(), [pat])
   341     s = []
   342     s = []
   430     return subset
   431     return subset
   431 
   432 
   432 def grep(repo, subset, x):
   433 def grep(repo, subset, x):
   433     """``grep(regex)``
   434     """``grep(regex)``
   434     Like ``keyword(string)`` but accepts a regex. Use ``grep(r'...')``
   435     Like ``keyword(string)`` but accepts a regex. Use ``grep(r'...')``
   435     to ensure special escape characters are handled correctly.
   436     to ensure special escape characters are handled correctly. Unlike
       
   437     ``keyword(string)``, the match is case-sensitive.
   436     """
   438     """
   437     try:
   439     try:
   438         # i18n: "grep" is a keyword
   440         # i18n: "grep" is a keyword
   439         gr = re.compile(getstring(x, _("grep requires a string")))
   441         gr = re.compile(getstring(x, _("grep requires a string")))
   440     except re.error, e:
   442     except re.error, e:
   483     return [r for r in s if r not in ps]
   485     return [r for r in s if r not in ps]
   484 
   486 
   485 def keyword(repo, subset, x):
   487 def keyword(repo, subset, x):
   486     """``keyword(string)``
   488     """``keyword(string)``
   487     Search commit message, user name, and names of changed files for
   489     Search commit message, user name, and names of changed files for
   488     string.
   490     string. The match is case-insensitive.
   489     """
   491     """
   490     # i18n: "keyword" is a keyword
   492     # i18n: "keyword" is a keyword
   491     kw = getstring(x, _("keyword requires a string")).lower()
   493     kw = getstring(x, _("keyword requires a string")).lower()
   492     l = []
   494     l = []
   493     for r in subset:
   495     for r in subset:
   778         l.append(e)
   780         l.append(e)
   779     l.sort()
   781     l.sort()
   780     return [e[-1] for e in l]
   782     return [e[-1] for e in l]
   781 
   783 
   782 def tag(repo, subset, x):
   784 def tag(repo, subset, x):
   783     """``tag(name)``
   785     """``tag([name])``
   784     The specified tag by name, or all tagged revisions if no name is given.
   786     The specified tag by name, or all tagged revisions if no name is given.
   785     """
   787     """
   786     # i18n: "tag" is a keyword
   788     # i18n: "tag" is a keyword
   787     args = getargs(x, 0, 1, _("tag takes one or no arguments"))
   789     args = getargs(x, 0, 1, _("tag takes one or no arguments"))
   788     cl = repo.changelog
   790     cl = repo.changelog
   800 def tagged(repo, subset, x):
   802 def tagged(repo, subset, x):
   801     return tag(repo, subset, x)
   803     return tag(repo, subset, x)
   802 
   804 
   803 def user(repo, subset, x):
   805 def user(repo, subset, x):
   804     """``user(string)``
   806     """``user(string)``
   805     User name is string.
   807     User name contains string. The match is case-insensitive.
   806     """
   808     """
   807     return author(repo, subset, x)
   809     return author(repo, subset, x)
   808 
   810 
   809 symbols = {
   811 symbols = {
   810     "adds": adds,
   812     "adds": adds,