relnotes/5.9
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 28 Sep 2021 19:15:46 +0200
changeset 48065 870100c0209b
parent 47977 4a3de491e77b
child 48285 6ee0244fc1cf
permissions -rw-r--r--
dirstate: drop the merged_removed method It it no longer in use. Differential Revision: https://phab.mercurial-scm.org/D11513
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.
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
     5
 * Introduced a command (debug-repair-issue6533) to repair repositories affected
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
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    29
 * 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
    30
   deep filenames
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    31
 * 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
    32
   Rust extensions.
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    33
 * 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
    34
 * `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
    35
 * 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
    36
 * 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
    37
 * `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
    38
   anymore
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    39
 * 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
    40
   common predecessor
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    41
 * 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
    42
 * 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
    43
 * 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
    44
 * Many other miscellaneous fixes
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    45
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    46
== Backwards Compatibility Changes ==
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    47
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    48
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    49
== Internal API Changes ==
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    50
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    51
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
    52
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
    53
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
    54
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
    55
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    56
* the following functions have been deprecated,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    57
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    58
  - `dirstate.add`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    59
  - `dirstate.normal`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    60
  - `dirstate.normallookup`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    61
  - `dirstate.merge`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    62
  - `dirstate.otherparent`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    63
  - `dirstate.remove`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    64
  - `dirstate.drop`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    65
  - `dirstateitem.__getitem__`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    66
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    67
* 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
    68
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    69
  - `dirstate.update_file`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    70
  - `dirstate.update_file_p1`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    71
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    72
* 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
    73
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    74
  - `dirstate.set_tracked`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    75
  - `dirstate.set_untracked`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    76
  - `dirstate.set_clean`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    77
  - `dirstate.set_possibly_dirty`,
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    78
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    79
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
    80
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    81
* Additionally, the following have been deprecated:
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    82
  - `urlutil.getpath` function
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    83
  - `localrepository.updatecaches`' `full` argument
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
* The following have been removed:
4a3de491e77b relnotes: add release notes for 5.9
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    86
  - `revlog.revlogio` has been removed