Mercurial > hg-stable
changeset 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 | 0c8ef79b9fd7 |
children | ec37257341a9 |
files | mercurial/fileset.py tests/test-fileset-generated.t tests/test-fileset.t |
diffstat | 3 files changed, 21 insertions(+), 2 deletions(-) [+] |
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))):
--- a/tests/test-fileset-generated.t Tue Nov 10 17:22:40 2015 +0800 +++ b/tests/test-fileset-generated.t Wed Nov 18 20:55:32 2015 +0100 @@ -47,6 +47,13 @@ ! missing_content2_missing-tracked ! missing_missing_missing-tracked + $ hg st -A 'set:missing()' + ! content1_content1_missing-tracked + ! content1_content2_missing-tracked + ! content1_missing_missing-tracked + ! missing_content2_missing-tracked + ! missing_missing_missing-tracked + $ hg st -A 'set:unknown()' ? content1_missing_content1-untracked ? content1_missing_content3-untracked