run-tests: include 'start' and 'end' in --time output
This is useful information to understand what is taking time in tests. Both are
included because I can see myself sorting this output using shell script. Having
both data makes it much easier than extracting 'start'+'real'.
run-tests: track start and end time of tests
We currently have information about how long each test took, but we have no data
about their actual scheduling. So we now track when a test started and stopped
(in the referential of the whole tests run) to expose this information.
The data is currently in the json only because the json output is meant to be
extensible. Later changeset will includes this data in the text output and we
will be happy to bikeshed its formating there.
Yes, "end" is actually just "start" + "time", but computing it an including it
in the output is simple, cheap and convenient.
templater: look for mapfiles in template paths
This will allow %include statements to search the default template
paths in addition to the directory where the %including file is.
config: give it an includepaths option for looking for config files
It is desirable to "derive" templates from the provided templates. A
simple way to do this is e.g.
%include map-cmdline.default
in your own mapfile. Then you only have to redefine a few templates
instead of copying over the whole thing. This %include mechanism
already works for the built-in templates because by default it *only*
looks for files that are in the same directory as the including
mapfile.
With this changeset, config grows an option to add more include paths
for config files.
revset: map postfix '%' to only() to optimize operand recursively (
issue4670)
Instead of keeping 'onlypost' as a method, this patch rewrites it to 'only'
function. This way, 'x%' always has the same weight as 'only(x)'.
dirs.c: pass C string, not Python string, to _finddir()
The callers already have the C string, and although the
PyString_AS_STRING() macro is probably free, this simplifies the code.