diff mercurial/fileset.py @ 27024:ceef5fb14872

fileset: add missing() predicate (issue4925) Help of status cmd defines status file of 'missing', what is called in fileset 'deleted'. To stay consistent this patch introduces missing() predicate which in fact is alias to 'deleted'.
author liscju <piotr.listkiewicz@gmail.com>
date Wed, 18 Nov 2015 20:55:32 +0100
parents d5a6be56970b
children 2f15253e415f
line wrap: on
line diff
--- a/mercurial/fileset.py	Tue Nov 10 17:22:40 2015 +0800
+++ b/mercurial/fileset.py	Wed Nov 18 20:55:32 2015 +0100
@@ -159,13 +159,22 @@
 
 def deleted(mctx, x):
     """``deleted()``
-    File that is deleted according to :hg:`status`.
+    Alias for ``missing()``.
     """
     # i18n: "deleted" is a keyword
     getargs(x, 0, 0, _("deleted takes no arguments"))
     s = mctx.status().deleted
     return [f for f in mctx.subset if f in s]
 
+def missing(mctx, x):
+    """``missing()``
+    File that is missing according to :hg:`status`.
+    """
+    # i18n: "missing" is a keyword
+    getargs(x, 0, 0, _("missing takes no arguments"))
+    s = mctx.status().deleted
+    return [f for f in mctx.subset if f in s]
+
 def unknown(mctx, x):
     """``unknown()``
     File that is unknown according to :hg:`status`. These files will only be
@@ -441,6 +450,7 @@
     'grep': grep,
     'ignored': ignored,
     'hgignore': hgignore,
+    'missing': missing,
     'modified': modified,
     'portable': portable,
     'removed': removed,
@@ -511,7 +521,7 @@
 
     # do we need status info?
     if (_intree(['modified', 'added', 'removed', 'deleted',
-                 'unknown', 'ignored', 'clean'], tree) or
+                 'missing', 'unknown', 'ignored', 'clean'], tree) or
         # Using matchctx.existing() on a workingctx requires us to check
         # for deleted files.
         (ctx.rev() is None and _intree(_existingcallers, tree))):