annotate relnotes/6.0 @ 48384:9f1b9e128788

dirstate: do no use `set_clean` in revert The current `set_clean` usage is racy (the file might be modified between its restoration and the `set_clean` call). So we simply leave the file as ambiguous and the next status will fix that. We still have to make sure the copy information is dropped, so we teach dirstate how to do that. The win32txt extension is confused after this because current logic is broken in more location. However this series will ultimately fix that so we "ignore" it for now. Fixing it now is complicated without some extra fix landing later. Differential Revision: https://phab.mercurial-scm.org/D11788
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 22 Nov 2021 15:58:51 +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