Show More
@@ -1,169 +1,182 b'' | |||||
|
1 | = Mercurial 6.4.1 = | |||
|
2 | ||||
|
3 | * rhg: fix a bug in path encoding | |||
|
4 | * rhg: don't crash on empty directory names in path_encode, just in case | |||
|
5 | * commands: correct documentation of hg serve’s --ipv6 options | |||
|
6 | * run-tests: remove obsolete coverage check and packaging import (issue6805) | |||
|
7 | * chg: populate CHGHG if not set | |||
|
8 | * match: sort patterns before compiling them into a regex | |||
|
9 | * match: match explicit file using a set | |||
|
10 | * rebase: do not cleanup the working copy when --dry-run is used (issue6802) | |||
|
11 | * sslutil: set context security level for legacy tls testing (issue6760) | |||
|
12 | ||||
|
13 | ||||
1 | = Mercurial 6.4 = |
|
14 | = Mercurial 6.4 = | |
2 |
|
15 | |||
3 | == New Features == |
|
16 | == New Features == | |
4 |
|
17 | |||
5 | * There is a new internal merge tool called `internal:union-other-first`. |
|
18 | * There is a new internal merge tool called `internal:union-other-first`. | |
6 | It works like `internal:union` but add other side on top of local. |
|
19 | It works like `internal:union` but add other side on top of local. | |
7 | * Pullbundles are enabled by default |
|
20 | * Pullbundles are enabled by default | |
8 | * delta-find: add a way to control the number of bases tested at the same time |
|
21 | * delta-find: add a way to control the number of bases tested at the same time | |
9 | * changelog-v2: add a configuration to disable rank computation |
|
22 | * changelog-v2: add a configuration to disable rank computation | |
10 | * debug: add an option to display statistic about a bundling operation |
|
23 | * debug: add an option to display statistic about a bundling operation | |
11 | * debug: add an option to display statistic about a unbundling operation |
|
24 | * debug: add an option to display statistic about a unbundling operation | |
12 | * delta-find: add a delta-reuse policy that blindly accepts incoming deltas |
|
25 | * delta-find: add a delta-reuse policy that blindly accepts incoming deltas | |
13 | * debug: add debug-revlog-stats command |
|
26 | * debug: add debug-revlog-stats command | |
14 | * dirstate: add narrow support to `verify` |
|
27 | * dirstate: add narrow support to `verify` | |
15 | * verify: also check dirstate |
|
28 | * verify: also check dirstate | |
16 | * commit: add --draft option to use draft phase |
|
29 | * commit: add --draft option to use draft phase | |
17 | * amend: add a --draft option to set phase to draft |
|
30 | * amend: add a --draft option to set phase to draft | |
18 | * debug: add a config to abort update early |
|
31 | * debug: add a config to abort update early | |
19 | * rhg: implement checkexec to support weird filesystems |
|
32 | * rhg: implement checkexec to support weird filesystems | |
20 | * debugshell: allow commands to be specified as a CLI argument |
|
33 | * debugshell: allow commands to be specified as a CLI argument | |
21 | * rhg-files: add support for narrow when specifying a revision |
|
34 | * rhg-files: add support for narrow when specifying a revision | |
22 | * rust-narrow: enable narrow support for plain `rhg files` |
|
35 | * rust-narrow: enable narrow support for plain `rhg files` | |
23 |
|
36 | |||
24 | == Bug Fixes == |
|
37 | == Bug Fixes == | |
25 |
|
38 | |||
26 | Aside from the following (unordered) commits which made it through a manual filter, there are a bunch of typing improvements and fixes, removal of deprecated code and general code cleanup. |
|
39 | Aside from the following (unordered) commits which made it through a manual filter, there are a bunch of typing improvements and fixes, removal of deprecated code and general code cleanup. | |
27 |
|
40 | |||
28 | * lfs: improve an exception message for blob corruption detected on transfer |
|
41 | * lfs: improve an exception message for blob corruption detected on transfer | |
29 | * revlog: use the user facing filename as the display_id for filelogs |
|
42 | * revlog: use the user facing filename as the display_id for filelogs | |
30 | * rust-status: query fs traversal metadata lazily |
|
43 | * rust-status: query fs traversal metadata lazily | |
31 | * shelve: add Shelf.changed_files for resolving changed files in a plugin |
|
44 | * shelve: add Shelf.changed_files for resolving changed files in a plugin | |
32 | * demandimport: ensure lazyloaderex sets loader attributes (issue6725) |
|
45 | * demandimport: ensure lazyloaderex sets loader attributes (issue6725) | |
33 | * typing: fix a syntax error in mercurial/cext/bdiff.pyi |
|
46 | * typing: fix a syntax error in mercurial/cext/bdiff.pyi | |
34 | * cffi: fix a bytes vs str issue on macOS when listing directories |
|
47 | * cffi: fix a bytes vs str issue on macOS when listing directories | |
35 | * changelog-v2: fix the docket `struct` |
|
48 | * changelog-v2: fix the docket `struct` | |
36 | * schemes: fix a broken check for drive letter conflicts |
|
49 | * schemes: fix a broken check for drive letter conflicts | |
37 | * worker: avoid reading 1 byte at a time from the OS pipe |
|
50 | * worker: avoid reading 1 byte at a time from the OS pipe | |
38 | * rust-narrow: fix loop that never loops |
|
51 | * rust-narrow: fix loop that never loops | |
39 | * setup: Ensure target directory exists with building rust extension |
|
52 | * setup: Ensure target directory exists with building rust extension | |
40 | * dirstate: invalidate changes when parent-change fails |
|
53 | * dirstate: invalidate changes when parent-change fails | |
41 | * dirstate: warn about non-explicitly rolledback parent-change |
|
54 | * dirstate: warn about non-explicitly rolledback parent-change | |
42 | * dirstate: write dirstate on successful exit of changing_parents context |
|
55 | * dirstate: write dirstate on successful exit of changing_parents context | |
43 | * largefile: make sure we hold the lock when updating the second dirstate |
|
56 | * largefile: make sure we hold the lock when updating the second dirstate | |
44 | * dirstate: enforce holding the lock while doing any changes |
|
57 | * dirstate: enforce holding the lock while doing any changes | |
45 | * run-tests: stop ignoring venv-installed packages |
|
58 | * run-tests: stop ignoring venv-installed packages | |
46 | * transaction: run abort callback in all cases |
|
59 | * transaction: run abort callback in all cases | |
47 | * transaction: quietly rollback if no other changes than temporary files |
|
60 | * transaction: quietly rollback if no other changes than temporary files | |
48 | * debugrebuilddirstate: double check that no transaction is open |
|
61 | * debugrebuilddirstate: double check that no transaction is open | |
49 | * dirstate: do not write an empty dirstate just for backup |
|
62 | * dirstate: do not write an empty dirstate just for backup | |
50 | * locking: take the `wlock` for the full `hg add` duration |
|
63 | * locking: take the `wlock` for the full `hg add` duration | |
51 | * locking: take the `wlock` for the full `hg remove` duration |
|
64 | * locking: take the `wlock` for the full `hg remove` duration | |
52 | * locking: take the `wlock` for the full `hg forget` duration |
|
65 | * locking: take the `wlock` for the full `hg forget` duration | |
53 | * locking: take the `wlock` for the full `hg addremove` duration |
|
66 | * locking: take the `wlock` for the full `hg addremove` duration | |
54 | * locking: grab the wlock before touching the dirstate in `perfdirstatewrite` |
|
67 | * locking: grab the wlock before touching the dirstate in `perfdirstatewrite` | |
55 | * locking: hold the wlock for the full duration of the "keyword demo" |
|
68 | * locking: hold the wlock for the full duration of the "keyword demo" | |
56 | * mq: properly take the wlock during the full qfold operation |
|
69 | * mq: properly take the wlock during the full qfold operation | |
57 | * dirstate: invalidate the dirstate change on transaction failure |
|
70 | * dirstate: invalidate the dirstate change on transaction failure | |
58 | * status: fix post status writing |
|
71 | * status: fix post status writing | |
59 | * status: fix post status invalidation |
|
72 | * status: fix post status invalidation | |
60 | * dirstate: avoid transaction backup/restore if we do not hold the lock |
|
73 | * dirstate: avoid transaction backup/restore if we do not hold the lock | |
61 | * rollback: explicitly skip dirstate rollback when applicable |
|
74 | * rollback: explicitly skip dirstate rollback when applicable | |
62 | * dirstate-guard: remove the feature |
|
75 | * dirstate-guard: remove the feature | |
63 | * dirstate: make `restorebackup` more robust when it is a noop |
|
76 | * dirstate: make `restorebackup` more robust when it is a noop | |
64 | * dirstate: generalize the dirstate's invalidation on transaction abort |
|
77 | * dirstate: generalize the dirstate's invalidation on transaction abort | |
65 | * dirstate: detect potential fishy transaction patterns while changing |
|
78 | * dirstate: detect potential fishy transaction patterns while changing | |
66 | * mq: write the dirstate before stripping |
|
79 | * mq: write the dirstate before stripping | |
67 | * dirstate: explicitly backup the datafile |
|
80 | * dirstate: explicitly backup the datafile | |
68 | * localrepo: enforce a clean dirstate when the transaction open |
|
81 | * localrepo: enforce a clean dirstate when the transaction open | |
69 | * localrepo: "blindly" do a dirstate backup at the end of the transaction |
|
82 | * localrepo: "blindly" do a dirstate backup at the end of the transaction | |
70 | * dirstate: remove the dedicated backup logic |
|
83 | * dirstate: remove the dedicated backup logic | |
71 | * rhg: fix a bug in path_encode |
|
84 | * rhg: fix a bug in path_encode | |
72 | * dirstate: invalidate on all exceptions |
|
85 | * dirstate: invalidate on all exceptions | |
73 | * large-files: make sure we write newly initialized standin file early |
|
86 | * large-files: make sure we write newly initialized standin file early | |
74 | * dirstate: warn if dirty when starting an edition |
|
87 | * dirstate: warn if dirty when starting an edition | |
75 | * dirstate: track that changes are pending in a transaction |
|
88 | * dirstate: track that changes are pending in a transaction | |
76 | * dirstate: distinct transaction callback from largefile |
|
89 | * dirstate: distinct transaction callback from largefile | |
77 | * automv: lock the repository before searching for renames |
|
90 | * automv: lock the repository before searching for renames | |
78 | * dirstate: only reload the dirstate when it may have changed |
|
91 | * dirstate: only reload the dirstate when it may have changed | |
79 | * dirstate: cleanup the `_map` property cache |
|
92 | * dirstate: cleanup the `_map` property cache | |
80 | * status: invalidate dirstate on LockError |
|
93 | * status: invalidate dirstate on LockError | |
81 | * dirstate: check that dirstate is clean at the initial context opening |
|
94 | * dirstate: check that dirstate is clean at the initial context opening | |
82 | * dirstate: have `running_status` write the dirstate when holding the lock |
|
95 | * dirstate: have `running_status` write the dirstate when holding the lock | |
83 | * dirstate: have `running_status` warn when exiting with a dirty dirstate |
|
96 | * dirstate: have `running_status` warn when exiting with a dirty dirstate | |
84 | * narrow: widden the lock context in `tracking` |
|
97 | * narrow: widden the lock context in `tracking` | |
85 | * narrow: enforce that narrow spec is written within a transaction |
|
98 | * narrow: enforce that narrow spec is written within a transaction | |
86 | * transaction: no longer explicitly cache phaseroots |
|
99 | * transaction: no longer explicitly cache phaseroots | |
87 | * transaction: no longer explicitly cache bookmarks |
|
100 | * transaction: no longer explicitly cache bookmarks | |
88 | * transaction: use the standard transaction mechanism to backup branch |
|
101 | * transaction: use the standard transaction mechanism to backup branch | |
89 | * bundlerepo: handle changegroup induced phase movement in the associated method |
|
102 | * bundlerepo: handle changegroup induced phase movement in the associated method | |
90 | * bundlerepo: apply phase data stored in the bundle instead of assuming `draft` |
|
103 | * bundlerepo: apply phase data stored in the bundle instead of assuming `draft` | |
91 | * config-item: declare undeclared path suboption |
|
104 | * config-item: declare undeclared path suboption | |
92 | * narrow: read pending file when applicable |
|
105 | * narrow: read pending file when applicable | |
93 | * rust: fix building on macOS (issue6801) |
|
106 | * rust: fix building on macOS (issue6801) | |
94 | * run-tests: fix a crash when using the coverage options |
|
107 | * run-tests: fix a crash when using the coverage options | |
95 | * undo-files: also remove the undo.backupfiles |
|
108 | * undo-files: also remove the undo.backupfiles | |
96 | * undo-files: cleanup backup when cleaning undos |
|
109 | * undo-files: cleanup backup when cleaning undos | |
97 | * undo-files: clean existing files up before writing new one |
|
110 | * undo-files: clean existing files up before writing new one | |
98 | * undo-files: cleanup legacy files when applicable |
|
111 | * undo-files: cleanup legacy files when applicable | |
99 | * dirstate-v2: fix an incorrect handling of readdir errors |
|
112 | * dirstate-v2: fix an incorrect handling of readdir errors | |
100 | * rust: update zstd dependency |
|
113 | * rust: update zstd dependency | |
101 | * rust: upgrade `rayon` dependency |
|
114 | * rust: upgrade `rayon` dependency | |
102 | * dirstate: fix the bug in [status] dealing with committed&ignored directories |
|
115 | * dirstate: fix the bug in [status] dealing with committed&ignored directories | |
103 | * dirstate: fix a potential traceback when in `copy` and `rename` |
|
116 | * dirstate: fix a potential traceback when in `copy` and `rename` | |
104 | * histedit: fix diff colors |
|
117 | * histedit: fix diff colors | |
105 | * cext: fix for PyLong refactoring in CPython 3.12 |
|
118 | * cext: fix for PyLong refactoring in CPython 3.12 | |
106 | * py3: fix for Python 3.12 emitting SyntaxWarning on invalid escape sequences |
|
119 | * py3: fix for Python 3.12 emitting SyntaxWarning on invalid escape sequences | |
107 | * statprof: with Python 3.12, lineno is (more) often None |
|
120 | * statprof: with Python 3.12, lineno is (more) often None | |
108 | * transaction: properly clean up backup file outside of .hg/store/ |
|
121 | * transaction: properly clean up backup file outside of .hg/store/ | |
109 | * transaction: raise on backup restoration error |
|
122 | * transaction: raise on backup restoration error | |
110 | * revlog: improve the robustness of the splitting process |
|
123 | * revlog: improve the robustness of the splitting process | |
111 | * debugdeltachain: stop summing the same chain over and over |
|
124 | * debugdeltachain: stop summing the same chain over and over | |
112 | * url: don't ignore timeout for https connections |
|
125 | * url: don't ignore timeout for https connections | |
113 | * py3: fix for Python 3.12 emitting SyntaxWarning on invalid escape sequences |
|
126 | * py3: fix for Python 3.12 emitting SyntaxWarning on invalid escape sequences | |
114 | * tests: accept a test output change in [tests/test-serve.t] |
|
127 | * tests: accept a test output change in [tests/test-serve.t] | |
115 | * rust: fix thread cap (for real this time) |
|
128 | * rust: fix thread cap (for real this time) | |
116 | * dirstate: try refreshing the changelog when parent are unknown |
|
129 | * dirstate: try refreshing the changelog when parent are unknown | |
117 | * hooks: invalidate the repo after the hooks |
|
130 | * hooks: invalidate the repo after the hooks | |
118 |
|
131 | |||
119 | == Backwards Compatibility Changes == |
|
132 | == Backwards Compatibility Changes == | |
120 | * rust: upgrade supported Rust toolchain version |
|
133 | * rust: upgrade supported Rust toolchain version | |
121 | * rust: move all crates in the main workspace to edition 2021 |
|
134 | * rust: move all crates in the main workspace to edition 2021 | |
122 | * hg-core: upgrade `zstd` dependency |
|
135 | * hg-core: upgrade `zstd` dependency | |
123 | * hg-core: upgrade `clap` dependency |
|
136 | * hg-core: upgrade `clap` dependency | |
124 | * hg-core: upgrade all remaining dependencies |
|
137 | * hg-core: upgrade all remaining dependencies | |
125 | * hg-cpython: upgrade dependencies |
|
138 | * hg-cpython: upgrade dependencies | |
126 | * rhg: upgrade `clap` dependency |
|
139 | * rhg: upgrade `clap` dependency | |
127 | * rhg: upgrade the remainder of the dependencies |
|
140 | * rhg: upgrade the remainder of the dependencies | |
128 |
|
141 | |||
129 | == Internal API Changes == |
|
142 | == Internal API Changes == | |
130 |
|
143 | |||
131 | * Many APIs around the dirstate have been made much stricter with regards to |
|
144 | * Many APIs around the dirstate have been made much stricter with regards to | |
132 | locking and transaction handling |
|
145 | locking and transaction handling | |
133 | * Some dirstate APIs have been renamed/removed |
|
146 | * Some dirstate APIs have been renamed/removed | |
134 | * In both cases, you should get loud complaints in your tests if you do |
|
147 | * In both cases, you should get loud complaints in your tests if you do | |
135 | something wrong. |
|
148 | something wrong. | |
136 |
|
149 | |||
137 | == Miscellaneous == |
|
150 | == Miscellaneous == | |
138 |
|
151 | |||
139 | * pullbundle support no longer requires setting a server-side option, |
|
152 | * pullbundle support no longer requires setting a server-side option, | |
140 | providing a .hg/pullbundles.manifest according to the syntax specified in |
|
153 | providing a .hg/pullbundles.manifest according to the syntax specified in | |
141 | 'hg help -e clonebundles' is enough. |
|
154 | 'hg help -e clonebundles' is enough. | |
142 | * debug-delta-find: add a --source option |
|
155 | * debug-delta-find: add a --source option | |
143 | * delta-find: add debug information about reuse of cached data |
|
156 | * delta-find: add debug information about reuse of cached data | |
144 | * delta-find: set the default candidate chunk size to 10 |
|
157 | * delta-find: set the default candidate chunk size to 10 | |
145 | * attr: vendor 22.1.0 |
|
158 | * attr: vendor 22.1.0 | |
146 | * configitems: add a default value for "merge-tools.xxx.regappend" |
|
159 | * configitems: add a default value for "merge-tools.xxx.regappend" | |
147 | * debugrevlog: display total stored information |
|
160 | * debugrevlog: display total stored information | |
148 | * emitrevision: if we need to compute a delta on the fly, try p1 or p2 first |
|
161 | * emitrevision: if we need to compute a delta on the fly, try p1 or p2 first | |
149 | * emitrevision: consider ancestors revision to emit as available base |
|
162 | * emitrevision: consider ancestors revision to emit as available base | |
150 | * find-delta: pass the cache-delta usage policy alongside the cache-delta |
|
163 | * find-delta: pass the cache-delta usage policy alongside the cache-delta | |
151 | * delta-find: use a smarter object for snapshot caching |
|
164 | * delta-find: use a smarter object for snapshot caching | |
152 | * delta-find: use sets instead of list in the snapshot cache |
|
165 | * delta-find: use sets instead of list in the snapshot cache | |
153 | * delta-find: make sure we only use newer full snapshot as candidate |
|
166 | * delta-find: make sure we only use newer full snapshot as candidate | |
154 | * delta-find: use a single snapshot cache when applying a group to an object |
|
167 | * delta-find: use a single snapshot cache when applying a group to an object | |
155 | * bundleoperation: optionnaly record the `remote` that produced the bundle |
|
168 | * bundleoperation: optionnaly record the `remote` that produced the bundle | |
156 | * bundle: when forcing acceptance of incoming delta also accept snapshot |
|
169 | * bundle: when forcing acceptance of incoming delta also accept snapshot | |
157 | * bundle: emit full snapshot as is, without doing a redelta |
|
170 | * bundle: emit full snapshot as is, without doing a redelta | |
158 | * pathutil: slightly faster path audit in the common case |
|
171 | * pathutil: slightly faster path audit in the common case | |
159 | * merge: don't pay for pathconflicts if there are none |
|
172 | * merge: don't pay for pathconflicts if there are none | |
160 | * merge: short-circuit the _checkfs loop upon getting ENOENT |
|
173 | * merge: short-circuit the _checkfs loop upon getting ENOENT | |
161 | * merge: disable the whole filesystem access loop if [_realfs] is false |
|
174 | * merge: disable the whole filesystem access loop if [_realfs] is false | |
162 | * merge: cache the fs checks made during [_checkunknownfiles] |
|
175 | * merge: cache the fs checks made during [_checkunknownfiles] | |
163 | * rust: use `logging_timer` instead of `micro_timer` |
|
176 | * rust: use `logging_timer` instead of `micro_timer` | |
164 | * rust: run `cargo clippy` |
|
177 | * rust: run `cargo clippy` | |
165 | * makefile: add `cargo clippy` to tests if cargo is available |
|
178 | * makefile: add `cargo clippy` to tests if cargo is available | |
166 | * heptapod-ci: add `clippy` to the CI |
|
179 | * heptapod-ci: add `clippy` to the CI | |
167 | * convert: use a priority queue for sorting commits, to make sorting faster |
|
180 | * convert: use a priority queue for sorting commits, to make sorting faster | |
168 | * delta-find: adjust the default candidate group chunk size |
|
181 | * delta-find: adjust the default candidate group chunk size | |
169 | * delta-find: declare the "paths..*:pulled-delta-reuse-policy option No newline at end of file |
|
182 | * delta-find: declare the "paths..*:pulled-delta-reuse-policy option |
General Comments 0
You need to be logged in to leave comments.
Login now