Patrick Mezard <patrick@mezard.eu> [Wed, 15 Aug 2012 22:29:09 +0200] rev 17366
fileset: matchctx.existing() must consider unknown files
By default, unknown files are ignored. If the 'unknown()' predicate
appears in the syntax tree, then they are taken in account.
Unfortunately, matchctx.existing() was filtering against non-deleted
context files, which does not include unknown files. So:
$ hg debugfileset 'binary() and unknown()'
would not return existing binary unknown files.
Patrick Mezard <patrick@mezard.eu> [Wed, 15 Aug 2012 21:44:00 +0200] rev 17365
fileset: exclude deleted files from matchctx.existing()
Running:
$ hg debugfileset 'binary()'
would traceback if there were one deleted file in the working directory.
It happened because matchctx.existing() was filtering files against the
ctx.__contains__() but deleted files are still considered part of
workingctx.
Patrick Mezard <patrick@mezard.eu> [Wed, 15 Aug 2012 18:04:50 +0200] rev 17364
test-fileset: test file status predicates