keyword: refactor kwtemplater.overwrite()
Make kwexpand, kwshrink restricted commands - i.e. read from
filelog without expansion for substition in kwtemplater.overwrite,
and set/unset restricted mode for overwrite() in in kwcommitctx
and the dorecord wrapper.
Preselect candidates when working on changed files (rollback, record)
outside kwtemplater class, and remove 6th argument from overwrite().
Avoid duplicate substitution/search in overwrite():
Only go into restricted read mode when reading from filelog.
rollback and record read from the working directory, where
restricted mode would already shrink keywords before overwrite()
either expands or shrinks them again.
This ensures that the usual automatic operations on keywords
are turned off during overwrite() and only overwrite() itself
acts on them.
Reduce manifest calculation to the cases where it is needed.
Move helper function for expansion removal outside kwtemplater class.
revlog.addgroup(): always use _addrevision() to add new revlog entries
This makes parentdelta clone support pulling.
cat: fix cat without -r, broken by
0ae35296fbf4
The default revision for revsingle() is now '.' instead of None. This
preserves the behavior of cat prior to it using revsingle().
revsets: introduce revsingle helper
revsingle returns a context for the last revision of the supplied revspec
revsets: make revpair revsets-aware
revpair returns the first and last members of the computed revset(s)
revset: lower precedence of minus infix (
issue2361)