annotate relnotes/5.9 @ 48716:f1eb77dceb36

narrow: allow merging non-conflicting change outside of the narrow spec We use the mergestate to carry information about these merge action and reprocess them at commit time to apply the necessary update. The dirstate itself is never affected and remains "pure", with content only in the narrow-spec. This file involved in such merge are therefor not listed in `hg status`. The current testing is based on a modification of the previous testing, that refused to do such merges. As a result it is a bit simple and more extensive code and testing testing will have to be introduced later. I am planning to do this extra testing, soon. In addition, this only works for flat manifest. Support for tree manifest will need more work. I am not currently planning to do this work. Differential Revision: https://phab.mercurial-scm.org/D12119
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Thu, 03 Feb 2022 18:14:11 +0100
parents 809e780c72e5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
47977
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
1 == New Features ==
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
2
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
3 * `hg config` now has a `--source` option to show where each
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
4 configuration value comes from.
48300
809e780c72e5 relnotes: fix wrong command name in 5.9 relnotes
Raphaël Gomès <rgomes@octobus.net>
parents: 48285
diff changeset
5 * Introduced a command (debug-repair-issue6528) to repair repositories affected
47977
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
6 by issue6528 where certain files would show up as modified even if they were
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
7 clean due to an issue in the copy-tracing code.
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
8
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
9 == Default Format Change ==
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
10
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
11 These changes affect newly created repositories (or new clone) done with
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
12 Mercurial 5.9.
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
13
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
14
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
15 == New Experimental Features ==
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
16
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
17 * A `changelogv2` format has been introduced. It is not ready for use yet, but
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
18 will be used later to address some of the weaknesses of the current revlog
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
19 format.
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
20 * Initial experiment and support for `dirstatev2`, a new dirstate format that
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
21 addresses some of the weaknesses of the current dirstate format. Python + C
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
22 and Rust support are being implemented, but the Rust solution is the one
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
23 currently getting the attention for performance.
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
24 * Initial support for `rhg status`. `rhg` is the Rust wrapper executable for hg
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
25 that shortcuts some commands for faster execution speed.
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
26
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
27 == Bug Fixes ==
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
28
48285
6ee0244fc1cf relnotes: update release notes for upcoming 5.9.3
Raphaël Gomès <rgomes@octobus.net>
parents: 47977
diff changeset
29 * Fixed committing empty files with `narrow`
6ee0244fc1cf relnotes: update release notes for upcoming 5.9.3
Raphaël Gomès <rgomes@octobus.net>
parents: 47977
diff changeset
30 * Allow overriding `pip`'s pep517 compliance to build C or Rust extensions
6ee0244fc1cf relnotes: update release notes for upcoming 5.9.3
Raphaël Gomès <rgomes@octobus.net>
parents: 47977
diff changeset
31 * Fixed regression on outgoing email when not specifying revisions
6ee0244fc1cf relnotes: update release notes for upcoming 5.9.3
Raphaël Gomès <rgomes@octobus.net>
parents: 47977
diff changeset
32 * Fixed a regression causing bookmarks to disappear when using Rust persistent nodemap
47977
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
33 * Fixed a regression (in 5.9.1) introduced in 5.9 when cloning repos with
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
34 deep filenames
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
35 * Fixed detection of directories becoming symlinks, but only when using the
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
36 Rust extensions.
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
37 * Fixed ignore and include not composing in the Rust status
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
38 * `hg commit --interactive` now handles deselecting edits of a rename
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
39 * Fixed a case where `hg evolve` gives different results when interrupted
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
40 * Fixed a memory leak in phases computation
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
41 * `histedit` and `shelve` don't swallow errors when updating the working copy
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
42 anymore
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
43 * Improve error message when detecting content-divergence with a hidden
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
44 common predecessor
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
45 * No longer re-order parents in filelog, see issue6533
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
46 * Fix revisions affected by issue6533 on the fly during exchange
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
47 * Many Windows fixes for stability and py3 compatibility improvements
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
48 * Many other miscellaneous fixes
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
49
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
50 == Backwards Compatibility Changes ==
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
51
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
52
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
53 == Internal API Changes ==
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
54
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
55 The Dirstate API have been updated as the previous function leaked some
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
56 internal details and did not distinguish between two important cases: "We are
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
57 changing parent and need to adjust the dirstate" and "some command is changing
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
58 which file is tracked". To clarify the situation:
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
59
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
60 * the following functions have been deprecated,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
61
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
62 - `dirstate.add`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
63 - `dirstate.normal`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
64 - `dirstate.normallookup`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
65 - `dirstate.merge`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
66 - `dirstate.otherparent`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
67 - `dirstate.remove`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
68 - `dirstate.drop`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
69 - `dirstateitem.__getitem__`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
70
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
71 * these new functions are added for the "adjusting parents" use-case:
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
72
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
73 - `dirstate.update_file`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
74 - `dirstate.update_file_p1`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
75
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
76 * these new function are added for the "adjusting wc file" use-case":
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
77
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
78 - `dirstate.set_tracked`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
79 - `dirstate.set_untracked`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
80 - `dirstate.set_clean`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
81 - `dirstate.set_possibly_dirty`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
82
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
83 See inline documentation of the new functions for details.
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
84
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
85 * Additionally, the following have been deprecated:
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
86 - `urlutil.getpath` function
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
87 - `localrepository.updatecaches`' `full` argument
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
88
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
89 * The following have been removed:
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
90 - `revlog.revlogio` has been removed