annotate relnotes/6.3 @ 50338:81c7d04f4722 stable

match: match explicit file using a set The matcher as all the logic to do quick comparison against explicit patterns, however the pattern matcher was shadowing the code using that set and used the compiled regex pattern in all cases, which is quite slow. We restore the usage of the set based matching to boost performance. Building the regexp is still consuming a large amount of time (actually, the majority of the time), which is still silly. Maybe using re2 would help that, but this is a quest for another adventure. Another path to improve this is to have a pattern type dedicated to match the exact path to a file only (not a directory). This pattern could use the set matching only and be skipped in the regex all together. Benchmarks ========== In the following benchmark we are comparing the `hg cat` and `hg files` run time when matching against all files in the repository. They are run: - without the rust extensions - with the standard python engine (so without re2) Performance improvement in this series -------------------------------------- ###### hg files ############################################################### ### mercurial-2018-08-01-zstd-sparse-revlog ### sorted base-changeset: 0.230092 seconds prev-changeset: 0.230069 seconds this-changeset: 0.211425 seconds (-8.36%) ### mercurial-2018-08-01-zstd-sparse-revlog ### shuffled base-changeset: 0.234235 seconds prev-changeset: 0.231165 seconds (-1.38%) this-changeset: 0.212300 seconds (-9.43%) ### pypy-2018-08-01-zstd-sparse-revlog ### sorted base-changeset: 0.613567 seconds prev-changeset: 0.616799 seconds this-changeset: 0.510852 seconds (-16.82%) ### pypy-2018-08-01-zstd-sparse-revlog ### shuffled base-changeset: 0.801880 seconds prev-changeset: 0.616393 seconds (-23.22%) this-changeset: 0.511903 seconds (-36.23%) ### netbeans-2018-08-01-zstd-sparse-revlog ### sorted base-changeset: 21.541828 seconds prev-changeset: 21.586773 seconds this-changeset: 13.648347 seconds (-36.76%) ### netbeans-2018-08-01-zstd-sparse-revlog ### shuffled base-changeset: 172.759857 seconds prev-changeset: 21.908197 seconds (-87.32%) this-changeset: 13.945110 seconds (-91.93%) ### mozilla-central-2018-08-01-zstd-sparse-revlog ### sorted base-changeset: 62.474221 seconds prev-changeset: 61.279490 seconds (-1.22%) this-changeset: 29.529469 seconds (-52.40%) ### mozilla-central-2018-08-01-zstd-sparse-revlog ### shuffled base-changeset: 1364.180218 seconds prev-changeset: 62.473549 seconds (-95.40%) this-changeset: 30.625249 seconds (-97.75%) ###### hg cat ################################################################# ### mercurial-2018-08-01-zstd-sparse-revlog ### sorted base-changeset: 0.764407 seconds prev-changeset: 0.763883 seconds this-changeset: 0.737326 seconds (-3.68%) ### mercurial-2018-08-01-zstd-sparse-revlog ### shuffled base-changeset: 0.768924 seconds prev-changeset: 0.765848 seconds this-changeset: 0.174d0b seconds (-4.44%) ### pypy-2018-08-01-zstd-sparse-revlog ### sorted base-changeset: 2.065220 seconds prev-changeset: 2.070498 seconds this-changeset: 1.939482 seconds (-6.08%) ### pypy-2018-08-01-zstd-sparse-revlog ### shuffled base-changeset: 2.276388 seconds prev-changeset: 2.069197 seconds (-9.15%) this-changeset: 1.931746 seconds (-15.19%) ### netbeans-2018-08-01-zstd-sparse-revlog ### sorted base-changeset: 40.967983 seconds prev-changeset: 41.392423 seconds this-changeset: 32.181681 seconds (-22.20%) ### netbeans-2018-08-01-zstd-sparse-revlog ### shuffled base-changeset: 216.388709 seconds prev-changeset: 41.648689 seconds (-80.88%) this-changeset: 32.580817 seconds (-85.04%) ### mozilla-central-2018-08-01-zstd-sparse-revlog ### sorted base-changeset: 105.228510 seconds prev-changeset: 103.315670 seconds (-1.23%) this-changeset: 69.416118 seconds (-33.64%) ### mozilla-central-2018-08-01-zstd-sparse-revlog ### shuffled base-changeset: 1448.722784 seconds prev-changeset: 104.369358 seconds (-92.80%) this-changeset: 70.554789 seconds (-95.13%) Different way to list the same data with this revision ------------------------------------------------------ ###### hg files ############################################################### ### mercurial-2018-08-01-zstd-sparse-revlog root: 0.119182 seconds glob: 0.120697 seconds (+1.27%) sorted: 0.211425 seconds (+77.40%) shuffled: 0.212300 seconds (+78.13%) ### pypy-2018-08-01-zstd-sparse-revlog root: 0.121986 seconds glob: 0.124822 seconds (+2.32%) sorted: 0.510852 seconds (+318.78%) shuffled: 0.511903 seconds (+319.64%) ### netbeans-2018-08-01-zstd-sparse-revlog root: 0.173984 seconds glob: 0.227203 seconds (+30.59%) sorted: 13.648347 seconds (+7744.59%) shuffled: 13.945110 seconds (+7915.16%) ### mozilla-central-2018-08-01-zstd-sparse-revlog root: 0.366463 seconds glob: 0.491030 seconds (+33.99%) sorted: 29.529469 seconds (+7957.96%) shuffled: 30.625249 seconds (+8256.97%) ###### hg cat ################################################################# ### mercurial-2018-08-01-zstd-sparse-revlog glob: 0.647471 seconds root: 0.643120 seconds shuffled: 0.174d0b seconds (+13.92%) sorted: 0.737326 seconds (+13.88%) ### mozilla-central-2018-08-01-zstd-sparse-revlog glob: 40.596983 seconds root: 40.129136 seconds shuffled: 70.554789 seconds (+73.79%) sorted: 69.416118 seconds (+70.99%) ### netbeans-2018-08-01-zstd-sparse-revlog glob: 18.777924 seconds root: 18.613905 seconds shuffled: 32.580817 seconds (+73.51%) sorted: 32.181681 seconds (+71.38%) ### pypy-2018-08-01-zstd-sparse-revlog glob: 1.555319 seconds root: 1.536534 seconds shuffled: 1.931746 seconds (+24.20%) sorted: 1.939482 seconds (+24.70%)
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sat, 01 Apr 2023 05:58:59 +0200
parents 8830004967ad
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
50249
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
1 = Mercurial 6.3.3 =
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
2
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
3 * tests: filter out PEP 657 error locations in tracebacks (issue6780)
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
4 * tests: optional PEP 657 error location in test-extension.t (issue6781)
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
5 * tests: optional PEP 657 error location in test-lfs-serve-access.t (issue6782)
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
6 * histedit: byteify the help for the multifold action
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
7 * sparse: fix a py2 based usage of `map()`
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
8 * convert: stop passing str to the dateutil API in darcs
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
9 * convert: turn the last str regex into bytes in cvs.py (issue6789)
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
10 * convert: change socket mode from b'r+' to 'rwb' in cvs.py (issue6789)
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
11 * convert: replace repr() by pycompat.byterepr() in cvsps.py (issue6789)
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
12 * tests: os module is frozen in Python 3.11 (issue6786)
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
13 * hgweb: unbyteify the 100-continue check
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
14 * resourceutil: start using importlib.resources.files() when possible
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
15 * revset: the `random` sort should not depend on sys.maxsize (issue6770)
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
16 * tests: make sure pygments can detect python script without extension
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
17 * convert: brz 3.3.0 moved NoSuchFile exception to breezy.transport
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
18 * tests: pygments 2.14+ highlight whitespace in python code
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
19 * hghave: make different has_pyoxidizer functions have different names
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
20 * hghave: refactor checks for pygments versions using checkvers()
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
21 * rust-narrow: fix loop that never loops
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
22 * scmutil: make checknewlabel() allow "_" in otherwise numeric names (issue6737)
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
23 * bundlerepo: enforce the requirements declared by the underlying repository
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
24 * setup: make the version computation process more resistant
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
25 * fix: add more information to the debug output
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
26 * tag: disallow tagging the working directory
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
27 * dirstate: handle missing backup file on restoration
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
28 * dirstate-v2: complain early on docket name collision
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
29 * rust: upgrade minimum `rayon` dependency
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
30 * setup: support building from an ongoing merge
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
31 * rust: add debug log about skipping dirstate update
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
32 * rust-dirstate: trace append/no append to help debugging
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
33 * dirstate-v2: don't mmap the data file when on NFS
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
34 * run-tests: make it possible to nest conditionals
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
35 * dirstate: add some debug output when writing the dirstate
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
36 * testing: introduce util function to synchronize concurrent commands on files
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
37 * dirstate: add a way to test races happening during status
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
38 * dirstate: use more than a bool to control append behavior
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
39 * dirstate-v2: add devel config option to control write behavior
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
40 * rhg: fix race when a fixup file is deleted on disk
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
41 * rhg: fix race when an ambiguous file is deleted on disk
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
42 * dirstate: deal with read-race for pure python code
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
43 * dirstate: deal with read-race for python code using rust object
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
44 * dirstate: deal with read-race for pure rust code path (rhg)
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
45 * dirstate: set identity whenever we read the dirstate's v2 docket
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
46 * rust-dirstate-v2: don't write dirstate if data file has changed
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
47 * rhg: remember the inode of .hg/dirstate
8830004967ad relnotes: add 6.3.3
Raphaël Gomès <rgomes@octobus.net>
parents: 49844
diff changeset
48
49843
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
49 = Mercurial 6.3.2 =
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
50
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
51 * [ecfc84b956a8] tests: expect the message from 1baf0fffd82f in test-hghave.t (issue6762)
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
52 * [5c095119bff4] tests: add the missing space to test-hghave.t (issue6762)
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
53 * [2c346c1c75ec] tests: use an all too familiar executable in test-run-tests.t (issue6661)
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
54 * [13c0e3b4fd35] tests: use `test -f` instead of `ls` to see if a file is present (issue6662)
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
55 * [8ced4ca30ea1] bisect: correct message about aborting an in-progress bisect (issue6527)
49844
d5ca12dbfcde relnotes: last-minute addition to 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49843
diff changeset
56 * filemerge: fix crash when using filesets in [partial-merge-tools]
49843
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
57 * help: fix a py3 error interpolating Set into b'%s'
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
58 * match: make the FLAG_RE pattern a raw string
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
59 * python-compat: adapt to Python 3.11 BC breakage with `random.sample`
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
60 * rust-status: fix thread count ceiling
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
61 * hg: show the correct message when cloning an LFS repo with extension disabled
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
62 * extensions: process disabled external paths when `hgext` package is in-memory
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
63 * emitrevision: consider ancestors revision to emit as available base
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
64 * make: add a target for building pyoxidizer tests on macOS
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
65 * run-tests: support --pyoxidized on macOS
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
66 * packaging: add dependencies to the PyOxidizer build on macOS
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
67 * Miscellaneous test fixes
ae7065c0cd4c relnotes: add 6.3.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49624
diff changeset
68
49624
c890d8b8bc59 relnotes: add 6.3.1
Raphaël Gomès <rgomes@octobus.net>
parents: 49584
diff changeset
69 = Mercurial 6.3.1 =
c890d8b8bc59 relnotes: add 6.3.1
Raphaël Gomès <rgomes@octobus.net>
parents: 49584
diff changeset
70
c890d8b8bc59 relnotes: add 6.3.1
Raphaël Gomès <rgomes@octobus.net>
parents: 49584
diff changeset
71 * memory-usage: fix `hg log --follow --rev R F` space complexity (dcb2581e33be)
c890d8b8bc59 relnotes: add 6.3.1
Raphaël Gomès <rgomes@octobus.net>
parents: 49584
diff changeset
72 * Improve portability and robustness of test harness
c890d8b8bc59 relnotes: add 6.3.1
Raphaël Gomès <rgomes@octobus.net>
parents: 49584
diff changeset
73 * hg-core: relax dependencies pinning
c890d8b8bc59 relnotes: add 6.3.1
Raphaël Gomès <rgomes@octobus.net>
parents: 49584
diff changeset
74 * matcher: fix issues regex flag contained in pattern (issue6759)
c890d8b8bc59 relnotes: add 6.3.1
Raphaël Gomès <rgomes@octobus.net>
parents: 49584
diff changeset
75 * matcher: do not prepend '.*' to pattern using ^ after flags
c890d8b8bc59 relnotes: add 6.3.1
Raphaël Gomès <rgomes@octobus.net>
parents: 49584
diff changeset
76 * packaging: refresh dependency hashes (issue6750)
c890d8b8bc59 relnotes: add 6.3.1
Raphaël Gomès <rgomes@octobus.net>
parents: 49584
diff changeset
77 * cffi: fix a bytes vs str issue on macOS when listing directories
c890d8b8bc59 relnotes: add 6.3.1
Raphaël Gomès <rgomes@octobus.net>
parents: 49584
diff changeset
78 * commit: properly consider file include and exclude options when closing branch
c890d8b8bc59 relnotes: add 6.3.1
Raphaël Gomès <rgomes@octobus.net>
parents: 49584
diff changeset
79 * dirstate-v2: do not put the dirstate data file in a transaction
c890d8b8bc59 relnotes: add 6.3.1
Raphaël Gomès <rgomes@octobus.net>
parents: 49584
diff changeset
80
49584
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
81 = Mercurial 6.3 =
49531
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
82
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
83 == New Features ==
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
84
49584
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
85 * testlib: add `--raw-sha1` option to `f`
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
86 * rhg: add `config.rhg` helptext
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
87 * config: add alias from `hg help rhg` to `hg help rust`
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
88 * rhg: add a config option to fall back immediately
49531
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
89 * bundle: introduce a --exact option
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
90 * perf-bundle: add a new command to benchmark bundle creation time
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
91 * perf-bundle: accept --rev arguments
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
92 * perf-bundle: accept --type argument
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
93 * perf-unbundle: add a perf command to time the unbundle operation
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
94 * perf: introduce a benchmark for delta-find
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
95 * contrib: add support for rhel9
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
96 * phase-shelve: Implement a 'shelve.store' experimental config
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
97 * debug-delta-find: introduce a quiet mode
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
98 * sort-revset: introduce a `random` variant
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
99 * phase: introduce a dedicated requirement for the `archived` phase
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
100 * rebase: add boolean config item rebase.store-source
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
101 * rhg: make [rhg status -v] work when it needs no extra output
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
102 * rhg: support "!" syntax for disabling extensions
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
103 * rhg: add debugrhgsparse command to help figure out bugs in rhg
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
104 * rhg: add sparse support
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
105 * rhg-status: add support for narrow clones
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
106 * templates: add filter to reverse list
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
107 * contrib: add pull_logger extension
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
108 * revset: handle wdir() in `roots()`
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
109 * revset: handle wdir() in `sort(..., -topo)`
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
110 * rhg: support tweakdefaults
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
111 * rhg: parallellize computation of [unsure_is_modified]
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
112
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
113 == Default Format Change ==
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
114
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
115 These changes affect newly created repositories (or new clones) done with
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
116 Mercurial 6.3.
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
117
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
118 == New Experimental Features ==
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
119
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
120 == Bug Fixes ==
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
121
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
122 * shelve: demonstrate that the state is different across platforms (issue6735)
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
123 * shelve: in test for trailing whitespace, strip commit (issue6735)
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
124 * shelve: remove strip and rely on prior state (issue6735)
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
125 * tests: fix http-bad-server expected errors for python 3.10 (issue6643)
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
126 * status: let `--no-copies` override `ui.statuscopies`
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
127 * releasenotes: use re.MULTILINE mode when checking admonitions
49584
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
128 * rhg: fallback to slow path on invalid patterns in hgignore
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
129 * Fix a bunch of leftover str/bytes issues from Python 3 migration
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
130 * keepalive: ensure `close_all()` actually closes all cached connections
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
131 * lfs: fix blob corruption when tranferring with workers on posix
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
132 * lfs: avoid closing connections when the worker doesn't fork
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
133 * dirstate-v2: update constant that wasn't kept in sync
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
134 * dirstate-v2: fix edge case where entries aren't sorted
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
135 * upgrade: no longer keep all revlogs in memory at any point
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
136 * rust-status: save new dircache even if just invalidated
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
137 * dirstate-v2: hash the source of the ignore patterns as well
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
138 * rhg: fallback when encountering ellipsis revisions
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
139 * shelve: handle empty parents and nodestoremove in shelvedstate (issue6748)
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
140 * profile: prevent a crash when line number is unknown
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
141 * tags-fnode-cache: do not repeatedly open the filelog in a loop
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
142 * tags-fnode-cache: skip building a changectx in getfnode
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
143 * rust: create wrapper struct to reduce `regex` contention issues
49531
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
144
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
145 == Backwards Compatibility Changes ==
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
146
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
147 * chg worker processes will now correctly load per-repository configuration
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
148 when given a both a relative `--repository` path and an alternate working
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
149 directory via `--cwd`. A side-effect of this change is that these workers
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
150 will now return an error if hg cannot find the current working directory,
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
151 even when a different directory is specified via `--cwd`.
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
152 * phase: rename the requirement for internal-phase from `internal-phase` to `use-internal-phase` (see 74fb1842f8b962cf03d7cd5b841dbcf2ae065587)
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
153
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
154 == Internal API Changes ==
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
155
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
156 == Miscellaneous ==
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
157
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
158 * sslutil: use proper attribute to select python 3.7+
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
159 * typing: suppress a few pyi-errors with more recent pytype
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
160 * ci: bump pytype to 2022.03.29
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
161 * bundlespec: add documentation about existing option
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
162 * subrepo: avoid opening console window for non-native subrepos on Windows
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
163 * setup: unconditionally enable the `long-paths-support` option on Windows
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
164 * setup: use the full executable manifest from `python.exe`
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
165 * tests: work around libmagic bug in svn subrepo tests
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
166 * packagelib: use python3 by default
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
167 * Improve `hg bisect` performance
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
168 * perf: properly process formatter option in perf::unbundle
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
169 * compare-disco: miscellaneous display improvements
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
170 * fsmonitor: better compatibility with newer Pythons
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
171 * revlog: finer computation of "issnapshot"
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
172 * rhg: don't fallback if `strip` or `rebase` are activated
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
173 * perf: make perf::bundle compatible before 61ba04693d65
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
174 * perf: make perf::bundle compatible down to 5.2
49584
684e0085fed7 relnotes: add final 6.3 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 49531
diff changeset
175 * perf-unbundle: improve compatibility
49531
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
176 * run-tests: display the time it took to install Mercurial
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
177 * mergetools: don't let meld open all changed files on startup
4e70efd5fd0e relnotes: add 6.3
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
178 * dirstate-v2: skip evaluation of hgignore regex on cached directories