relnotes/5.1
author Matt Harbison <matt_harbison@yahoo.com>
Sun, 29 Dec 2019 20:51:44 -0500
changeset 44030 5ac0e6f19eb4
parent 42692 cba59b338976
permissions -rw-r--r--
ui: refactor `readconfig()` into a form that can consume resources The old form can't completely go away, because files outside of packages still need to be read. The name passed in here is a tuple of `package name, resource` as needed by the resource API. I like the idea of stating the config file is embedded in the executable by listing is as `exe!package.resource`. This would be consistent with how `debuginstall` points to the executable for the python executable, lib, and installed modules. While in practice the filesystem path is available from the backing ResourceReader when the resource is opened, it is a relative path on py2 and absolute on py3. Further, while this would show in the `hg config` output for each option if set as such here, it doesn't show in the `reading from...` line when `--debug` is used. The file isn't actually open where that prints, so there's no way I see to get that info there. So I opted for the simple prefix to distinguish resources from files. Differential Revision: https://phab.mercurial-scm.org/D7775
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.