largefiles: walk history in ascending order while downloading all lfiles
I don't think the order matters. Maybe it's purely because of the use of
walkchangerevs(), which was originally designed for "hg log" command.
Surprisingly, the number of objects fetched in test-largefiles.t has changed.
According to the --verbose output, the order of the following fetches flipped
and the latter got deduplicated.
getting large3:
eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
found
eb7338044dc27f9bc59b8dd5a246b065ead7a9c4 in store
getting sub/large4:
eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
found
eb7338044dc27f9bc59b8dd5a246b065ead7a9c4 in store
largefiles: replace use of walkchangerevs() with simple revset query
Since it does nothing in prepare(), what we're doing is just walking
revisions matching ".hglf" in reverse order.
largefiles: remove unused 'rev' parameter from downloadlfiles()
It's no longer used since
83ead8cb0ff2 "largefiles: implement pull
--all-largefiles as a special case of --lfrev."
resourceutil: document when we expect to take the importlib.resouces code path
Differential Revision: https://phab.mercurial-scm.org/D9018
templater: fix reading of templates in frozen binaries with py3 < 3.7
When using a frozen binary with py3 < 3.7, there's no
`importlib.resources` module, so we use the code path that reads the
resources from the file system. That code path expects bytes for
package name and resource name.
Differential Revision: https://phab.mercurial-scm.org/D9008
histedit: cache description line
Navigating the curses-based histedit interface can be pretty slow
because it redraws everything whenever you make a change.
This patch simply replaces `@property` by `@util.propertycache` on the
`histeditrule.desc()` function so it's not re-calculated every time
the screen needs to be re-rendered. I timed it on an example of 30
simple commits, where I moved the top commit down 25 steps and then up
25 steps after. Before this patch, that (the whole `hg histedit`
invocation) took 11.6 s of CPU and after this patch it took 0.8 s).
Differential Revision: https://phab.mercurial-scm.org/D9016
tests: make emacs test less strict
It was failing like this for me:
```
@@ -2,7 +2,7 @@
$ emacs -q -no-site-file -batch -l $TESTDIR/../contrib/hg-test-mode.el \
> -f ert-run-tests-batch-and-exit
Running 1 tests (*) (glob)
- passed 1/1 hg-test-mode--compilation-mode-support
+ passed 1/1 hg-test-mode--compilation-mode-support (0.045732 sec)
- Ran 1 tests, 1 results as expected (*) (glob)
+ Ran 1 tests, 1 results as expected, 0 unexpected (2020-09-11 16:49:56+0000, 0.046034 sec)
```
Differential Revision: https://phab.mercurial-scm.org/D9017