relnotes/5.9
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 28 Jan 2022 14:25:45 +0100
changeset 48706 00bfd920169d
parent 48300 809e780c72e5
permissions -rw-r--r--
merge: break up a not-so-one-liner for readability Differential Revision: https://phab.mercurial-scm.org/D12109
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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