Mercurial > hg
annotate relnotes/6.3 @ 51582:d8287e43540f
phases: stop using `repo.set` in `remotephasessummary`
The `repository.set` create changectx on the fly, an expensive operation. Using
`repo.revs` and a direct rev-num → node-id translation will be significantly
faster.
This is especially true as we prepare ourself to no longer do the rev-num →
node-id transalation there.
The speedup is a bit lost in the overall noisyness of the slow phase discovery algorithm, but it save a small amount of time in my benchmark.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 05 Apr 2024 12:24:47 +0200 |
parents | 8830004967ad |
children |
rev | line source |
---|---|
50249 | 1 = Mercurial 6.3.3 = |
2 | |
3 * tests: filter out PEP 657 error locations in tracebacks (issue6780) | |
4 * tests: optional PEP 657 error location in test-extension.t (issue6781) | |
5 * tests: optional PEP 657 error location in test-lfs-serve-access.t (issue6782) | |
6 * histedit: byteify the help for the multifold action | |
7 * sparse: fix a py2 based usage of `map()` | |
8 * convert: stop passing str to the dateutil API in darcs | |
9 * convert: turn the last str regex into bytes in cvs.py (issue6789) | |
10 * convert: change socket mode from b'r+' to 'rwb' in cvs.py (issue6789) | |
11 * convert: replace repr() by pycompat.byterepr() in cvsps.py (issue6789) | |
12 * tests: os module is frozen in Python 3.11 (issue6786) | |
13 * hgweb: unbyteify the 100-continue check | |
14 * resourceutil: start using importlib.resources.files() when possible | |
15 * revset: the `random` sort should not depend on sys.maxsize (issue6770) | |
16 * tests: make sure pygments can detect python script without extension | |
17 * convert: brz 3.3.0 moved NoSuchFile exception to breezy.transport | |
18 * tests: pygments 2.14+ highlight whitespace in python code | |
19 * hghave: make different has_pyoxidizer functions have different names | |
20 * hghave: refactor checks for pygments versions using checkvers() | |
21 * rust-narrow: fix loop that never loops | |
22 * scmutil: make checknewlabel() allow "_" in otherwise numeric names (issue6737) | |
23 * bundlerepo: enforce the requirements declared by the underlying repository | |
24 * setup: make the version computation process more resistant | |
25 * fix: add more information to the debug output | |
26 * tag: disallow tagging the working directory | |
27 * dirstate: handle missing backup file on restoration | |
28 * dirstate-v2: complain early on docket name collision | |
29 * rust: upgrade minimum `rayon` dependency | |
30 * setup: support building from an ongoing merge | |
31 * rust: add debug log about skipping dirstate update | |
32 * rust-dirstate: trace append/no append to help debugging | |
33 * dirstate-v2: don't mmap the data file when on NFS | |
34 * run-tests: make it possible to nest conditionals | |
35 * dirstate: add some debug output when writing the dirstate | |
36 * testing: introduce util function to synchronize concurrent commands on files | |
37 * dirstate: add a way to test races happening during status | |
38 * dirstate: use more than a bool to control append behavior | |
39 * dirstate-v2: add devel config option to control write behavior | |
40 * rhg: fix race when a fixup file is deleted on disk | |
41 * rhg: fix race when an ambiguous file is deleted on disk | |
42 * dirstate: deal with read-race for pure python code | |
43 * dirstate: deal with read-race for python code using rust object | |
44 * dirstate: deal with read-race for pure rust code path (rhg) | |
45 * dirstate: set identity whenever we read the dirstate's v2 docket | |
46 * rust-dirstate-v2: don't write dirstate if data file has changed | |
47 * rhg: remember the inode of .hg/dirstate | |
48 | |
49843 | 49 = Mercurial 6.3.2 = |
50 | |
51 * [ecfc84b956a8] tests: expect the message from 1baf0fffd82f in test-hghave.t (issue6762) | |
52 * [5c095119bff4] tests: add the missing space to test-hghave.t (issue6762) | |
53 * [2c346c1c75ec] tests: use an all too familiar executable in test-run-tests.t (issue6661) | |
54 * [13c0e3b4fd35] tests: use `test -f` instead of `ls` to see if a file is present (issue6662) | |
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 | 57 * help: fix a py3 error interpolating Set into b'%s' |
58 * match: make the FLAG_RE pattern a raw string | |
59 * python-compat: adapt to Python 3.11 BC breakage with `random.sample` | |
60 * rust-status: fix thread count ceiling | |
61 * hg: show the correct message when cloning an LFS repo with extension disabled | |
62 * extensions: process disabled external paths when `hgext` package is in-memory | |
63 * emitrevision: consider ancestors revision to emit as available base | |
64 * make: add a target for building pyoxidizer tests on macOS | |
65 * run-tests: support --pyoxidized on macOS | |
66 * packaging: add dependencies to the PyOxidizer build on macOS | |
67 * Miscellaneous test fixes | |
68 | |
49624 | 69 = Mercurial 6.3.1 = |
70 | |
71 * memory-usage: fix `hg log --follow --rev R F` space complexity (dcb2581e33be) | |
72 * Improve portability and robustness of test harness | |
73 * hg-core: relax dependencies pinning | |
74 * matcher: fix issues regex flag contained in pattern (issue6759) | |
75 * matcher: do not prepend '.*' to pattern using ^ after flags | |
76 * packaging: refresh dependency hashes (issue6750) | |
77 * cffi: fix a bytes vs str issue on macOS when listing directories | |
78 * commit: properly consider file include and exclude options when closing branch | |
79 * dirstate-v2: do not put the dirstate data file in a transaction | |
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 | 82 |
83 == New Features == | |
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 | 89 * bundle: introduce a --exact option |
90 * perf-bundle: add a new command to benchmark bundle creation time | |
91 * perf-bundle: accept --rev arguments | |
92 * perf-bundle: accept --type argument | |
93 * perf-unbundle: add a perf command to time the unbundle operation | |
94 * perf: introduce a benchmark for delta-find | |
95 * contrib: add support for rhel9 | |
96 * phase-shelve: Implement a 'shelve.store' experimental config | |
97 * debug-delta-find: introduce a quiet mode | |
98 * sort-revset: introduce a `random` variant | |
99 * phase: introduce a dedicated requirement for the `archived` phase | |
100 * rebase: add boolean config item rebase.store-source | |
101 * rhg: make [rhg status -v] work when it needs no extra output | |
102 * rhg: support "!" syntax for disabling extensions | |
103 * rhg: add debugrhgsparse command to help figure out bugs in rhg | |
104 * rhg: add sparse support | |
105 * rhg-status: add support for narrow clones | |
106 * templates: add filter to reverse list | |
107 * contrib: add pull_logger extension | |
108 * revset: handle wdir() in `roots()` | |
109 * revset: handle wdir() in `sort(..., -topo)` | |
110 * rhg: support tweakdefaults | |
111 * rhg: parallellize computation of [unsure_is_modified] | |
112 | |
113 == Default Format Change == | |
114 | |
115 These changes affect newly created repositories (or new clones) done with | |
116 Mercurial 6.3. | |
117 | |
118 == New Experimental Features == | |
119 | |
120 == Bug Fixes == | |
121 | |
122 * shelve: demonstrate that the state is different across platforms (issue6735) | |
123 * shelve: in test for trailing whitespace, strip commit (issue6735) | |
124 * shelve: remove strip and rely on prior state (issue6735) | |
125 * tests: fix http-bad-server expected errors for python 3.10 (issue6643) | |
126 * status: let `--no-copies` override `ui.statuscopies` | |
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 | 144 |
145 == Backwards Compatibility Changes == | |
146 | |
147 * chg worker processes will now correctly load per-repository configuration | |
148 when given a both a relative `--repository` path and an alternate working | |
149 directory via `--cwd`. A side-effect of this change is that these workers | |
150 will now return an error if hg cannot find the current working directory, | |
151 even when a different directory is specified via `--cwd`. | |
152 * phase: rename the requirement for internal-phase from `internal-phase` to `use-internal-phase` (see 74fb1842f8b962cf03d7cd5b841dbcf2ae065587) | |
153 | |
154 == Internal API Changes == | |
155 | |
156 == Miscellaneous == | |
157 | |
158 * sslutil: use proper attribute to select python 3.7+ | |
159 * typing: suppress a few pyi-errors with more recent pytype | |
160 * ci: bump pytype to 2022.03.29 | |
161 * bundlespec: add documentation about existing option | |
162 * subrepo: avoid opening console window for non-native subrepos on Windows | |
163 * setup: unconditionally enable the `long-paths-support` option on Windows | |
164 * setup: use the full executable manifest from `python.exe` | |
165 * tests: work around libmagic bug in svn subrepo tests | |
166 * packagelib: use python3 by default | |
167 * Improve `hg bisect` performance | |
168 * perf: properly process formatter option in perf::unbundle | |
169 * compare-disco: miscellaneous display improvements | |
170 * fsmonitor: better compatibility with newer Pythons | |
171 * revlog: finer computation of "issnapshot" | |
172 * rhg: don't fallback if `strip` or `rebase` are activated | |
173 * perf: make perf::bundle compatible before 61ba04693d65 | |
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 | 176 * run-tests: display the time it took to install Mercurial |
177 * mergetools: don't let meld open all changed files on startup | |
178 * dirstate-v2: skip evaluation of hgignore regex on cached directories |