Mercurial > hg
annotate relnotes/5.8 @ 47890:3853e6ee160d
dirstatemap: replace `removefile` by an explicit `entry.set_untracked()`
All the other caller goes through `reset_state`, so we can safely have an
explicit method on `DirstateItem` object.
This means that all the logic to preserve the previous state (from p2, merged,
etc) is now properly encapsulated within the DirstateItem. This pave the way to
using different storage for these information.
Differential Revision: https://phab.mercurial-scm.org/D11315
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 20 Aug 2021 11:27:01 +0200 |
parents | 32b527417ba3 |
children |
rev | line source |
---|---|
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. |