annotate relnotes/6.0 @ 48674:f7086f6173f8 stable

dirstate-v2: rename the configuration to enable the format The rename of the old experimental name was overlooked before the 6.0 release. We rename everything to use the new name (and keep the released name as an alias for compatibility). Differential Revision: https://phab.mercurial-scm.org/D12129
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Tue, 01 Feb 2022 16:36:20 +0100
parents 229f5ee1a08a
children 75676122c2bf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
48301
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
1 == New Features ==
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
2 * `debugrebuildfncache` now has an option to rebuild only the index files
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
3 * a new `bookmarks.mode` path option have been introduced to control the
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
4 bookmark update strategy during exchange with a peer. See `hg help paths` for
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
5 details.
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
6 * a new `bookmarks.mirror` option has been introduced. See `hg help bookmarks`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
7 for details.
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
8 * more commands support detailed exit codes when config `ui.detailed-exit-codes` is enabled
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
9
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
10 == Default Format Change ==
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
11
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
12 == New Experimental Features ==
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
13
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
14 * '''Major feature''': version 2 of the dirstate is available (the first version is as old as Mercurial itself). It allows for much faster working copy inspection (status, diff, commit, update, etc.) and richer information (symlink and exec info on Windows, etc.). The format has been frozen with room for some future evolution and the current implementations (Python, Python + C, Python + Rust or pure Rust) should be compatible with any future change or optimization that the format allows. You can get more information [[https://www.mercurial-scm.org/repo/hg/file/tip/mercurial/helptext/internals/dirstate-v2.txt | in the internal documentation]]
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
15 * Added a new `web.full-garbage-collection-rate` to control performance. See
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
16 de2e04fe4897a554b9ef433167f11ea4feb2e09c for more information
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
17 * Added a new `histedit.later-commits-first` option to affect the ordering of commits in `chistedit` to match the order in `hg log -G`. It will affect the text-based version before graduating from experimental.
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
18
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
19 == Bug Fixes ==
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
20
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
21 * `hg fix --working-dir` now correctly works when in an uncommitted merge state
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
22 * Unintentional duplicated calls to `hg fix`'s internals were removed, making it potentially much faster
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
23 * `rhg cat` can be called without a revision
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
24 * `rhg cat` can be called with the `.` revision
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
25 * `rhg cat` is more robust than before with regards to edge cases. Some still remain like a tag or bookmark that is ambiguous with a nodeid prefix, only nodeids (prefixed or not) are supported as of now.
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
26 * `rhg cat` is even faster
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
27 * `rhg` (Rust fast-path for `hg`) now supports the full config list syntax
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
28 * `rhg` now parses some corner-cases for revsets correctly
48310
229f5ee1a08a relnotes: update 6.0 with the last changes for the release
Rapha?l Gom?s <rgomes@octobus.net>
parents: 48301
diff changeset
29 * Fixed an `fsmonitor` on Python 3 during exception handling
48301
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
30 * Lots of Windows fixes
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
31 * Lots of miscellaneous other fixes
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
32 * Removed a CPython-specific compatibility hack to improve support for alternative Python implementations
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
33
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
34 == Backwards Compatibility Changes ==
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
35
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
36
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
37 == Internal API Changes ==
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
38
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
39 The following functions have been removed:
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
40
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
41 * `dirstate.normal`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
42 * `dirstate.normallookup`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
43 * `dirstate.otherparent`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
44 * `dirstate.add`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
45 * `dirstate.addfile`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
46 * `dirstate.remove`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
47 * `dirstate.drop`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
48 * `dirstate.dropfile`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
49 * `dirstate.__getitem__`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
50 * `dirstatemap.nonnormalentries`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
51 * `dirstatemap.nonnormalset`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
52 * `dirstatemap.otherparentset`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
53 * `dirstatemap.non_normal_or_other_parent_paths`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
54 * `dirstateitem.dm_nonnormal`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
55 * `dirstateitem.dm_otherparent`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
56 * `dirstateitem.merged_removed`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
57 * `dirstateitem.from_p2`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
58 * `dirstateitem.merged`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
59 * `dirstateitem.new_merged`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
60 * `dirstateitem.new_added`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
61 * `dirstateitem.new_from_p2`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
62 * `dirstateitem.new_possibly_dirty`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
63 * `dirstateitem.new_normal`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
64 * `dirstateitem.from_p2_removed`
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
65
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
66 Miscellaneous:
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
67
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
68 * `wireprotov1peer`'s `batchable` is now a simple function and not a generator
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
69 anymore
9327ece2bc6f relnotes: add 6.0 release notes
Rapha?l Gom?s <rgomes@octobus.net>
parents:
diff changeset
70 * The Rust extensions (and by extension the experimental `rhg status`) only use a tree-based dirstate in-memory, even when using dirstate-v1. See bf8837e3d7cec40fe649c47163a3154dda03fa16 for more details
48310
229f5ee1a08a relnotes: update 6.0 with the last changes for the release
Rapha?l Gom?s <rgomes@octobus.net>
parents: 48301
diff changeset
71 * The Rust minimum supported version is now 1.48.0 in accordance with out policy of keeping up with Debian stable
229f5ee1a08a relnotes: update 6.0 with the last changes for the release
Rapha?l Gom?s <rgomes@octobus.net>
parents: 48301
diff changeset
72 * The test harness plays nicer with the NixOS sandbox