Yuya Nishihara <yuya@tcha.org> [Sun, 05 Aug 2018 16:33:30 +0900] rev 39371
templatekw: add {path} keyword to host documentation
It's hidden since I'm not sure if filectx templates can be a thing. The plan
is to add {status}, {size}, etc., which are usable within {files % ...}
context.
Yuya Nishihara <yuya@tcha.org> [Sun, 05 Aug 2018 16:51:25 +0900] rev 39370
status: rename {copy} to {source} for compatibility with {file_copies} (BC)
.. bc::
``{copy}`` in status command template is renamed to ``{source}``.
Yuya Nishihara <yuya@tcha.org> [Sun, 05 Aug 2018 16:44:16 +0900] rev 39369
formatter: rename {abspath}/{file} to {path}, and drop relative {path} (BC)
Note that {path} in status is either relative-to-cwd or repository-absolute
depending on the command argument and config knob, which can't be reproduced
by using the {path|relpath} filter. The default template is updated to always
use a relative path.
.. bc::
``{abspath}`` and ``{file}`` in generic templates are renamed to ``{path}``.
Any ``{path}`` is a repository-absolute path. Use ``{path|relpath}`` to
convert it to a filesystem path.
Yuya Nishihara <yuya@tcha.org> [Sun, 05 Aug 2018 16:27:09 +0900] rev 39368
templatekw: alias {name} of file copies dict to {path}
For the same reason as the previous patch. We might want some hack to
support {source.path}, {source.rev}, etc., but that's a different issue.
Yuya Nishihara <yuya@tcha.org> [Sun, 05 Aug 2018 16:14:18 +0900] rev 39367
templatekw: alias {file} of files list to {path}
This is a part of the name unification. All {path}s will be changed to
repository-absolute (i.e. canonical) paths.
https://www.mercurial-scm.org/wiki/GenericTemplatingPlan#Dictionary
Pulkit Goyal <pulkit@yandex-team.ru> [Wed, 29 Aug 2018 18:52:09 +0300] rev 39366
copies: improve logic of deciding copytracing on based of config options
Few months ago or maybe a year ago, I imported Fb's heuristics based copytracing
algorithms. While importing that, I renamed `experimental.disablecopytrace` with
`experimental.copytrace` and the behavior of the new config option was like
this:
* "heuristics" : Fb's heuristic copytracing algorithm
* "off" : copytracing is turned off
* something else: copytracing is on
This is the behavior right now also and this is bad because it hardcodes the
string 'off' to turn off the copytracing. On big repositories, copytracing is
very slow and people wants to turn copytracing off. However if the user sets it
to 'False', 'Off', '0', none of them is going to disbale copytracing while they
should.
I lacked the understanding of why this can be bad when I coded it.
After this patch, the new behavior of the config option will be:
* "heuristics": Fb's heuristic copytracing algorithm
* '0', 'false', 'off', 'never', 'no', 'NO', all the values which
repo.ui.configbool() evaluates to False: copytracing in turned off
* something else: copytracing is on
Since 'off' still evaluates to copytracing being turned off, this is not BC.
Also the config option is experimental.
Differential Revision: https://phab.mercurial-scm.org/D4416
Pulkit Goyal <pulkit@yandex-team.ru> [Thu, 30 Aug 2018 13:29:03 +0300] rev 39365
relnotes: enable extension when running releasenotes command
Last night, when I was working on different machine, the test worked, now on a
different machine it does not. Looks like we should make sure releasenotes
extension is loaded.
Differential Revision: https://phab.mercurial-scm.org/D4425
Pulkit Goyal <pulkit@yandex-team.ru> [Thu, 30 Aug 2018 13:11:15 +0300] rev 39364
narrow: rename getbundlechangegrouppart_nonellipsis function
The function is renamed to getbundlechangegrouppart_widen as per suggestion in
D4383. The motivation is such that we can evolve the function into a handler for
new wire-protocol command.
Differential Revision: https://phab.mercurial-scm.org/D4424
Pulkit Goyal <pulkit@yandex-team.ru> [Thu, 30 Aug 2018 13:05:59 +0300] rev 39363
tests: rename test-narrow-widen-non-ellipsis to match current names
The test is renamed to test-narrow-widen-no-ellipsis (note non -> no), to match
with test-narrow-clone-no-ellipsis.t.
Follows up on D4382.
Differential Revision: https://phab.mercurial-scm.org/D4423
Pulkit Goyal <pulkit@yandex-team.ru> [Wed, 29 Aug 2018 20:38:38 +0300] rev 39362
contrib: byteify perf.py file
This is done using contrib/byteify-strings.py. There is just one extra change
done to make sure lines don't get longer than 80 chars.
# skip-blame because just b'' prefixes.
Differential Revision: https://phab.mercurial-scm.org/D4422
Martin von Zweigbergk <martinvonz@google.com> [Wed, 29 Aug 2018 16:57:18 -0700] rev 39361
tests: use {rev} instead of {node|short} and (glob) in narrow tests
I think we used {node|short} because they were first written for only
flat manifests and we didn't think to change the format when we
started testing tree manifests.
Differential Revision: https://phab.mercurial-scm.org/D4421
Martin von Zweigbergk <martinvonz@google.com> [Wed, 29 Aug 2018 15:49:11 -0700] rev 39360
shortest: fix an off-by-1 when disambiguating against revnums
Revision "5" is an unambiguous hex prefix in a repo with 5 revisions;
it's only "4" and lower that are ambiguous.
Differential Revision: https://phab.mercurial-scm.org/D4420