fileset: parse argument of size() by predicate function
This change is necessary to pass in a size expression to predicatematcher.
See the next patch.
fileset: add "tracked()" to explicitly select files in the revision
I'm going to rewrite filesets to be match predicates, which means basic
patterns such as '*' will no longer be "closed" to the subset constructed
from the ctx.
Good thing is that 'hg status "set:not binary()"' can include unknown files
out of the box, and fileset computation will likely to be faster as we won't
have to walk dirstate twice, for example. Bad thing is that we can't select
files at a certain revision by 'set:revs(REV, **)' since '**' is "open" to
any paths. So, this patch introduces "tracked()" as a replacement for the '**'
in the example above.
fileset: rewrite andset() to not use mctx.narrow()
New code is less efficient than the original, but it helps porting andset()
to matcher composition. This will be cleaned up later.
This effectively disables the fullmatchctx magic since mctx will never be
demoted to the matchctx. The fullmatchctx class will be removed later.
fileset: add helpers to make predicatematcher and nevermatcher
These functions will be used to compose a tree of matchers from a fileset
expression.
phases: remove excessive optimization from newheads() (
issue5939)
This function is intended to compute 'heads(::heads - roots::)', but it
failed because 'heads + parents(roots)' missed sibling branches of the roots.
That's why the public heads slipped down from D to B in the example added by
2a227782e754 "tests: add test demonstrating phase loss when cloning":
> E draft
> |\Z draft
> | Y draft
> D | public
> | X draft
> C/ public
> B public
> A public
where heads = {E, Z},
roots = {X}
rebase: remove unused variable "release" and an extra blank line
Differential Revision: https://phab.mercurial-scm.org/D3947
rebase: remove unnecessary confirm block
Removed unnecessary 'if confirm:' block as that thing is now
handled at 'finally'.
Differential Revision: https://phab.mercurial-scm.org/D3945