fileset: add function to switch revision where fileset will be evaluated
If the subset isn't filtered yet, i.e. if fullmatchctx, the new subset is
recalculated from scratch. Otherwise, it is narrowed by the existing subset.
fileset: extract function that builds status tuple only if necessary
This function will be used to recalculate status when mctx.ctx is switched.
fileset: extract function that builds initial subset from ctx or status
This function will be used to recalculate subset when mctx.ctx is switched.
fileset: add class to host special handling of initial subset
Future patches will add a function to switch mctx.ctx object so that we can
forcibly evaluate a fileset expression in a specified revision. For example,
new "revs()" function will be used to match predicate agains another revision
$ hg revert 'set:revs(42, added())'
fullmatchctx class is similar to revset.fullreposet. It will allow us to
recalculate the subset only if it is not filtered yet.
patchbomb: add config knob to generate flags by template (
issue5354)
This can be used to flag patches by branch or topic automatically. Flags
optionally given by --flag option are exported as {flags} template keyword,
so you can add --flag V2.