##// END OF EJS Templates
repo: avoid copying/updating a dict on every `repo.__getitem__`...
repo: avoid copying/updating a dict on every `repo.__getitem__` This has some mild performance benefits. I'm looking into a pathological case where one of our `hg log` invocations takes several seconds, and according to hyperfine this reduces the wall time of the entire operation (running in chg) from: ``` Time (mean ± σ): 7.390 s ± 0.106 s [User: 7.058 s, System: 0.271 s] Range (min … max): 7.300 s … 7.625 s ``` to: ``` Time (mean ± σ): 7.046 s ± 0.091 s [User: 6.714 s, System: 0.279 s] Range (min … max): 6.916 s … 7.169 s ``` Note: the log command is slow due to an issue in our custom stuff executing `repo[<arg>]` 298,800 times. This performance improvement is likely not noticeable during normal operation, but I don't feel like it's making the code more difficult to understand, and every small bit helps. Differential Revision: https://phab.mercurial-scm.org/D9022

File last commit:

r44031:2e017696 default
r46036:4a0ccbec default
Show More
deprecated.txt
30 lines | 678 B | text/plain | TextLexer
Mercurial evolves over time, some features, options, commands may be replaced by
better and more secure alternatives. This topic will help you migrating your
existing usage and/or configuration to newer features.
Commands
========
The following commands are still available but their use are not recommended:
``locate``
This command has been replaced by `hg files`.
``parents``
This command can be replaced by `hg summary` or `hg log` with appropriate
revsets. See `hg help revsets` for more information.
``tip``
The recommended alternative is `hg heads`.
Options
=======
``web.allowpull``
Renamed to `allow-pull`.
``web.allow_push``
Renamed to `allow-push`.