Bryan O'Sullivan <bryano@fb.com> [Wed, 15 Aug 2012 16:31:25 -0700] rev 17374
store: only one kind of OSError means "nonexistent entry"
Bryan O'Sullivan <bryano@fb.com> [Wed, 15 Aug 2012 16:30:32 -0700] rev 17373
store: sort the results of fncachestore.datafiles()
Patrick Mezard <patrick@mezard.eu> [Wed, 15 Aug 2012 23:03:40 +0200] rev 17372
Merge with stable
Patrick Mezard <patrick@mezard.eu> [Wed, 15 Aug 2012 22:50:23 +0200] rev 17371
fileset: fix generator vs list bug in fast path
$ hg debugfileset 'a or b'
would only return a or b but not both because the base file list was a
generator instead of a replayable sequence.
Patrick Mezard <patrick@mezard.eu> [Wed, 15 Aug 2012 22:28:32 +0200] rev 17370
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu> [Wed, 15 Aug 2012 22:09:09 +0200] rev 17369
test-fileset: test remaining predicates
- exec
- symlink
- size
- resolved / unresolved
- subrepo
Patrick Mezard <patrick@mezard.eu> [Wed, 15 Aug 2012 19:25:45 +0200] rev 17368
fileset: do not traceback on invalid grep pattern
Patrick Mezard <patrick@mezard.eu> [Wed, 15 Aug 2012 22:29:32 +0200] rev 17367
fileset: matchctx.existing() must consider ignored files
When running:
$ hg debugfileset 'binary() and ignored()'
getfileset() was correctly retrieving ignored files but
matchctx.existing() was not taking them in account. Just add them along
with unknown files.
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.