relnotes/5.1
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 16 Apr 2021 14:59:13 +0200
changeset 46970 99aed233aa8d
parent 42692 cba59b338976
permissions -rw-r--r--
nodemap: test various corruption scenario for the persistent nodemap Corruption can happens in the wild, either because some of our code is buggy or because repository were shared/transfered in a strange manners. Currently one of the corruption case (not enough data) lead to a crash. We add explicit tests for theses cases. Differential Revision: https://phab.mercurial-scm.org/D10457
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     1
== New Features ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     2
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     3
 * New config `commands.commit.post-status` shows status after successful
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     4
 commit.
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     5
42498
089f14dd7df3 relnotes: document template support for `hg root`
Martin von Zweigbergk <martinvonz@google.com>
parents: 42405
diff changeset
     6
 * `hg root` now has templating support, including support for showing
089f14dd7df3 relnotes: document template support for `hg root`
Martin von Zweigbergk <martinvonz@google.com>
parents: 42405
diff changeset
     7
   where a repo share's source is. See `hg help -v root` for details.
089f14dd7df3 relnotes: document template support for `hg root`
Martin von Zweigbergk <martinvonz@google.com>
parents: 42405
diff changeset
     8
42552
4cafbd3b50c6 relnotes: document the new --force-close-branch flag
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 42541
diff changeset
     9
 * New `--force-close-branch` flag for `hg commit` to forcibly close
4cafbd3b50c6 relnotes: document the new --force-close-branch flag
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 42541
diff changeset
    10
   branch from a non-head changeset.
4cafbd3b50c6 relnotes: document the new --force-close-branch flag
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 42541
diff changeset
    11
42578
9f73620a65fe relnotes: document new range-select mechanism in crecord
Kyle Lippincott <spectral@google.com>
parents: 42574
diff changeset
    12
 * The curses-based interface for commands like `hg commit -i` now supports
9f73620a65fe relnotes: document new range-select mechanism in crecord
Kyle Lippincott <spectral@google.com>
parents: 42574
diff changeset
    13
   a range-select mechanism. Select the first line using space like before,
9f73620a65fe relnotes: document new range-select mechanism in crecord
Kyle Lippincott <spectral@google.com>
parents: 42574
diff changeset
    14
   navigate to the last line, and press X (capital x) to set all items in
9f73620a65fe relnotes: document new range-select mechanism in crecord
Kyle Lippincott <spectral@google.com>
parents: 42574
diff changeset
    15
   the range at once. Lowercase x has been added as a synonym for space to
9f73620a65fe relnotes: document new range-select mechanism in crecord
Kyle Lippincott <spectral@google.com>
parents: 42574
diff changeset
    16
   help reinforce the mechanism, and pressing enter/return continues to be a
9f73620a65fe relnotes: document new range-select mechanism in crecord
Kyle Lippincott <spectral@google.com>
parents: 42574
diff changeset
    17
   synonym for "toggle the current line and move down to the next item in
9f73620a65fe relnotes: document new range-select mechanism in crecord
Kyle Lippincott <spectral@google.com>
parents: 42574
diff changeset
    18
   this section."
42309
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
    19
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
    20
== New Experimental Features ==
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
    21
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
    22
 * New config `experimental.log.topo` makes `hg log -G` use
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
    23
   topological sorting. This is especially useful for aliases since it
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
    24
   lets the alias accept an `-r` option while still using topological
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
    25
   sorting with or without the `-r` (unlike if you use the `sort(...,
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
    26
   topo)` revset).
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
    27
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
    28
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    29
== Bug Fixes  ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    30
42405
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    31
 * issue4292: "hg log and {files} {file_adds} {file_mods} {file_dels}
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    32
   in template show wrong files on merged revision". See details in
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    33
   "Backwards Compatibility Changes".
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    34
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    35
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    36
== Backwards Compatibility Changes ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    37
42334
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42309
diff changeset
    38
 * Removed (experimental) support for log graph lines mixing
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42309
diff changeset
    39
   parent/grandparent styles. Setting
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42309
diff changeset
    40
   e.g. `experimental.graphstyle.parent = !` and
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42309
diff changeset
    41
   `experimental.graphstyle.grandparent = 3.` would use `!` for the
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42309
diff changeset
    42
   first three lines of the graph and then `.`. This is no longer
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42309
diff changeset
    43
   supported.
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42309
diff changeset
    44
42372
ba6ca4e80607 relnotes: document changed behavior of ui.origbackuppath pointing to file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42343
diff changeset
    45
 * If `ui.origbackuppath` had been (incorrectly) configured to point
ba6ca4e80607 relnotes: document changed behavior of ui.origbackuppath pointing to file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42343
diff changeset
    46
   to a file, we will now replace that file by a directory and put
ba6ca4e80607 relnotes: document changed behavior of ui.origbackuppath pointing to file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42343
diff changeset
    47
   backups in that directory. This is similar to how we would
ba6ca4e80607 relnotes: document changed behavior of ui.origbackuppath pointing to file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42343
diff changeset
    48
   previously replace files *in* the configured directory by
ba6ca4e80607 relnotes: document changed behavior of ui.origbackuppath pointing to file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42343
diff changeset
    49
   subdirectories.
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    50
42405
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    51
* Template keyword `{file_mods}`, `{file_adds}`, and `{file_dels}`
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    52
   have changed behavior on merge commits. They used to be relative to
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    53
   the first parent, but they now consider both parents. `{file_adds}`
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    54
   shows files that exists in the commit but did not exist in either
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    55
   parent. `{file_dels}` shows files that do not exist in the commit
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    56
   but existed in either parent. `{file_mods}` show the remaining
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    57
   files from `{files}` that were not in the other two
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    58
   sets.
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    59
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    60
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    61
== Internal API Changes ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    62
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    63
 * Matchers are no longer iterable. Use `match.files()` instead.
42341
27d6956d386b match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42334
diff changeset
    64
27d6956d386b match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42334
diff changeset
    65
 * `match.visitdir()` and `match.visitchildrenset()` now expect the
27d6956d386b match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42334
diff changeset
    66
   empty string instead of '.' to indicate the root directory.
42343
d8e55c0c642c util: make util.dirs() and util.finddirs() include root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42341
diff changeset
    67
d8e55c0c642c util: make util.dirs() and util.finddirs() include root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42341
diff changeset
    68
 * `util.dirs()` and `util.finddirs()` now include an entry for the
d8e55c0c642c util: make util.dirs() and util.finddirs() include root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42341
diff changeset
    69
   root directory (empty string).
42535
df5f674050b7 relnotes: added description about statemod._statecheck
Taapas Agrawal <taapas2897@gmail.com>
parents: 42498
diff changeset
    70
42541
3de4f17f4824 shelve: move shelve extension to core
Navaneeth Suresh <navaneeths1998@gmail.com>
parents: 42535
diff changeset
    71
 * shelve is no longer an extension now. it will be turned on by default.
3de4f17f4824 shelve: move shelve extension to core
Navaneeth Suresh <navaneeths1998@gmail.com>
parents: 42535
diff changeset
    72
42535
df5f674050b7 relnotes: added description about statemod._statecheck
Taapas Agrawal <taapas2897@gmail.com>
parents: 42498
diff changeset
    73
 * New API to manage unfinished operations: Earlier there were distinct APIs
df5f674050b7 relnotes: added description about statemod._statecheck
Taapas Agrawal <taapas2897@gmail.com>
parents: 42498
diff changeset
    74
   which dealt with unfinished states and separate lists maintaining them
df5f674050b7 relnotes: added description about statemod._statecheck
Taapas Agrawal <taapas2897@gmail.com>
parents: 42498
diff changeset
    75
   that are `cmdutil.afterresolvestates`, `cmdutil.unfinishedstates` and
df5f674050b7 relnotes: added description about statemod._statecheck
Taapas Agrawal <taapas2897@gmail.com>
parents: 42498
diff changeset
    76
   `cmdutil.STATES`. Now these have been unified to a single
df5f674050b7 relnotes: added description about statemod._statecheck
Taapas Agrawal <taapas2897@gmail.com>
parents: 42498
diff changeset
    77
   API which handles the various states and their utilities. This API
df5f674050b7 relnotes: added description about statemod._statecheck
Taapas Agrawal <taapas2897@gmail.com>
parents: 42498
diff changeset
    78
   has been added to `state.py`. Now instead of adding to these 3 lists
df5f674050b7 relnotes: added description about statemod._statecheck
Taapas Agrawal <taapas2897@gmail.com>
parents: 42498
diff changeset
    79
   independently a state for a new operation can be registered using
df5f674050b7 relnotes: added description about statemod._statecheck
Taapas Agrawal <taapas2897@gmail.com>
parents: 42498
diff changeset
    80
   `addunfinished()` in `state` module.
df5f674050b7 relnotes: added description about statemod._statecheck
Taapas Agrawal <taapas2897@gmail.com>
parents: 42498
diff changeset
    81
df5f674050b7 relnotes: added description about statemod._statecheck
Taapas Agrawal <taapas2897@gmail.com>
parents: 42498
diff changeset
    82
 * `cmdutil.checkunfinished()` now includes detection for merge too.
42574
d28d91f9f35a py3: don't run source transformer on hgext3rd (extensions)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42552
diff changeset
    83
42579
b8d54f4625cb merge: disallow merge abort in case of an unfinished operation (issue6160)
Taapas Agrawal <taapas2897@gmail.com>
parents: 42578
diff changeset
    84
 * merge abort has been disallowed in case an operation of higher
b8d54f4625cb merge: disallow merge abort in case of an unfinished operation (issue6160)
Taapas Agrawal <taapas2897@gmail.com>
parents: 42578
diff changeset
    85
   precedence is in progress to avoid cases of partial abort of
b8d54f4625cb merge: disallow merge abort in case of an unfinished operation (issue6160)
Taapas Agrawal <taapas2897@gmail.com>
parents: 42578
diff changeset
    86
   operations.
b8d54f4625cb merge: disallow merge abort in case of an unfinished operation (issue6160)
Taapas Agrawal <taapas2897@gmail.com>
parents: 42578
diff changeset
    87
42574
d28d91f9f35a py3: don't run source transformer on hgext3rd (extensions)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42552
diff changeset
    88
 * We used to automatically attempt to make extensions compatible with
d28d91f9f35a py3: don't run source transformer on hgext3rd (extensions)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42552
diff changeset
    89
   Python 3 (by translating their source code while loading it). We no
d28d91f9f35a py3: don't run source transformer on hgext3rd (extensions)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42552
diff changeset
    90
   longer do that.