Mercurial > hg
annotate relnotes/5.9 @ 50621:822320591c46
safehasattr: pass attribute name as string instead of bytes
This is a step toward replacing `util.safehasattr` usage with plain `hasattr`.
The builtin function behave poorly in Python2 but this was fixed in Python3.
These change are done one by one as they tend to have a small odd to trigger
puzzling breackage.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 02 Feb 2023 17:26:10 +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 |