mercurial/revset.py
changeset 14342 c0b6a734b4f3
parent 14318 1f46be4689ed
child 14343 9ed227f79e47
equal deleted inserted replaced
14341:5c3de67e7402 14342:c0b6a734b4f3
   368     if not args:
   368     if not args:
   369         return []
   369         return []
   370     s = set(repo.changelog.descendants(*args)) | set(args)
   370     s = set(repo.changelog.descendants(*args)) | set(args)
   371     return [r for r in subset if r in s]
   371     return [r for r in subset if r in s]
   372 
   372 
       
   373 def filelog(repo, subset, x):
       
   374     """``filelog(pattern)``
       
   375     Changesets connected to the specified filelog.
       
   376     """
       
   377 
       
   378     pat = getstring(x, _("filelog requires a pattern"))
       
   379     m = matchmod.match(repo.root, repo.getcwd(), [pat], default='relpath')
       
   380     s = set()
       
   381 
       
   382     if not m.anypats():
       
   383         for f in m.files():
       
   384             fl = repo.file(f)
       
   385             for fr in fl:
       
   386                 s.add(fl.linkrev(fr))
       
   387     else:
       
   388         for f in repo[None]:
       
   389             if m(f):
       
   390                 fl = repo.file(f)
       
   391                 for fr in fl:
       
   392                     s.add(fl.linkrev(fr))
       
   393 
       
   394     return [r for r in subset if r in s]
       
   395 
   373 def follow(repo, subset, x):
   396 def follow(repo, subset, x):
   374     """``follow()``
   397     """``follow()``
   375     An alias for ``::.`` (ancestors of the working copy's first parent).
   398     An alias for ``::.`` (ancestors of the working copy's first parent).
   376     """
   399     """
   377     # i18n: "follow" is a keyword
   400     # i18n: "follow" is a keyword
   778     "closed": closed,
   801     "closed": closed,
   779     "contains": contains,
   802     "contains": contains,
   780     "date": date,
   803     "date": date,
   781     "descendants": descendants,
   804     "descendants": descendants,
   782     "file": hasfile,
   805     "file": hasfile,
       
   806     "filelog": filelog,
   783     "follow": follow,
   807     "follow": follow,
   784     "grep": grep,
   808     "grep": grep,
   785     "head": head,
   809     "head": head,
   786     "heads": heads,
   810     "heads": heads,
   787     "keyword": keyword,
   811     "keyword": keyword,