author | Arseniy Alekseyev <aalekseyev@janestreet.com> |
Thu, 18 May 2023 19:23:59 +0100 | |
changeset 50673 | 5d84b1385f7f |
parent 47014 | 32b527417ba3 |
permissions | -rw-r--r-- |
47014
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
1 |
== New Features == |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
2 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
3 |
* `hg purge` is now a core command using `--confirm` by default. |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
4 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
5 |
* The `rev-branch-cache` is now updated incrementally whenever changesets |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
6 |
are added. |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
7 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
8 |
* The new options `experimental.bundlecompthreads` and |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
9 |
`experimental.bundlecompthreads.<engine>` can be used to instruct |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
10 |
the compression engines for bundle operations to use multiple threads |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
11 |
for compression. The default is single threaded operation. Currently |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
12 |
only supported for zstd. |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
13 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
14 |
== Default Format Change == |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
15 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
16 |
These changes affects newly created repositories (or new clone) done with |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
17 |
Mercurial 5.8. |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
18 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
19 |
* The `ZSTD` compression will now be used by default for new repositories |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
20 |
when available. This compression format was introduced in Mercurial 5.0, |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
21 |
released in May 2019. See `hg help config.format.revlog-compression` for |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
22 |
details. |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
23 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
24 |
* Mercurial installation built with the Rust parts will now use the |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
25 |
"persistent nodemap" feature by default. This feature was introduced in |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
26 |
Mercurial 5.4 (May 2020). However Mercurial instalation built without the |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
27 |
fast Rust implementation will refuse to interract with them by default. |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
28 |
This restriction can be lifted through configuration. |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
29 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
30 |
See `hg help config.format.use-persistent-nodemap` for details |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
31 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
32 |
== New Experimental Features == |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
33 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
34 |
* There's a new `diff.merge` config option to show the changes |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
35 |
relative to an automerge for merge changesets. This makes it |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
36 |
easier to detect and review manual changes performed in merge |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
37 |
changesets. It is supported by `hg diff --change`, `hg log -p` |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
38 |
`hg incoming -p`, and `hg outgoing -p` so far. |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
39 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
40 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
41 |
== Bug Fixes == |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
42 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
43 |
* gracefully recover from inconsistent persistent-nodemap data from disk. |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
44 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
45 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
46 |
== Backwards Compatibility Changes == |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
47 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
48 |
* In normal repositories, the first parent of a changeset is not null, |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
49 |
unless both parents are null (like the first changeset). Some legacy |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
50 |
repositories violate this condition. The revlog code will now |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
51 |
silentely swap the parents if this condition is tested. This can |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
52 |
change the output of `hg log` when explicitly asking for first or |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
53 |
second parent. The changesets "nodeid" are not affected. |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
54 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
55 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
56 |
== Internal API Changes == |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
57 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
58 |
* `changelog.branchinfo` is deprecated and will be removed after 5.8. |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
59 |
It is superseded by `changelogrevision.branchinfo`. |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
60 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
61 |
* Callbacks for revlog.addgroup and the changelog._nodeduplicatecallback hook |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
62 |
now get a revision number as argument instead of a node. |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
63 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
64 |
* revlog.addrevision returns the revision number instead of the node. |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
65 |
|
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
66 |
* `nodes.nullid` and related constants are being phased out as part of |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
67 |
the deprecation of SHA1. Repository instances and related classes |
32b527417ba3
relnotes: copy contents of "next" to "5.8" and clear "next"
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
68 |
provide access via `nodeconstants` and in some cases `nullid` attributes. |