Mercurial > hg
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 |
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 |