resolve: add support for log-like template keywords and functions
It uses wctx as the associated revision since "hg resolve" is the command
to manipulate the working directory files.
manifest: add support for log-like template keywords and functions
"hg manifest --all" isn't supported since it has no single associated
revision.
files: add support for log-like template keywords and functions
Note that the ctx does not point to the revision where the file was
last changed, but the revision specified by -rREV option.
bookmarks: add support for log-like template keywords and functions
This is basically the same as
5d9b765dbe15 "tags: unblock log-like template
keywords and functions."
fix: add progress bar for number of file revisions processed
This ensures responsiveness when the configured tools are slow or numerous.
Differential Revision: https://phab.mercurial-scm.org/D3848
fix: use a worker pool to parallelize running tools
This is important for usability when tools are slow or numerous.
Differential Revision: https://phab.mercurial-scm.org/D3846
worker: support more return types in posix worker
This allows us to return things that aren't tuple(int, str) from worker
functions. I wanted to use marshal instead of pickle, but it seems to read from
the pipe in non-blocking mode, which means it stops before it sees the results.
The windows worker already supports arbitrary return values without
serialization, because it uses threads instead of subprocesses.
Differential Revision: https://phab.mercurial-scm.org/D3845