relnotes/next
author Joerg Sonnenberger <joerg@bec.de>
Fri, 15 Jan 2021 01:58:59 +0100
changeset 46444 3e91d9978bec
parent 46442 cad17d50736c
child 46518 1c66795862cf
permissions -rw-r--r--
branchmap: update rev-branch-cache incrementally Historically, the revision to branch mapping cache was updated on demand and shared via bundle2 to avoid the cost of rebuilding on first use. Use the new `register_changeset` callback and update rbc directly on every change. Make the transfer of the bundle part redundant, but keep it for the moment to avoid the test churn. Over all, "hg unbundle" for large bundles is less than 1.8% slower for different larger repositories and that seems to a reasonable trade off. Differential Revision: https://phab.mercurial-scm.org/D9781
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
42298
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
45882
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45880
diff changeset
     3
 * There is a new config section for templates used by hg commands. It
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45880
diff changeset
     4
   is called `[command-templates]`. Some existing config options have
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45880
diff changeset
     5
   been deprecated in favor of config options in the new
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45880
diff changeset
     6
   section. These are: `ui.logtemplate` to `command-templates.log`,
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45880
diff changeset
     7
   `ui.graphnodetemplate` to `command-templates.graphnode`,
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45880
diff changeset
     8
   `ui.mergemarkertemplate` to `command-templates.mergemarker`,
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45880
diff changeset
     9
   `ui.pre-merge-tool-output-template` to
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45880
diff changeset
    10
   `command-templates.pre-merge-tool-output`.
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45880
diff changeset
    11
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45880
diff changeset
    12
 * There is a new set of config options for the template used for the
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45880
diff changeset
    13
   one-line commit summary displayed by various commands, such as `hg
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45880
diff changeset
    14
   rebase`. The main one is `command-templates.oneline-summary`. That
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45880
diff changeset
    15
   can be overridden per command with
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45880
diff changeset
    16
   `command-templates.oneline-summary.<command>`, where `<command>`
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45880
diff changeset
    17
   can be e.g. `rebase`. As part of this effort, the default format
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45880
diff changeset
    18
   from `hg rebase` was reorganized a bit.
45751
60d0634c43c2 relnotes: add diffcontains() to new features list
Yuya Nishihara <yuya@tcha.org>
parents: 45563
diff changeset
    19
46440
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46254
diff changeset
    20
 * `hg purge` is now a core command using `--confirm` by default.
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46254
diff changeset
    21
45880
d7a508a75d72 strip: move into core
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 45842
diff changeset
    22
 * `hg strip`, from the strip extension, is now a core command, `hg
d7a508a75d72 strip: move into core
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 45842
diff changeset
    23
   debugstrip`. The extension remains for compatibility.
d7a508a75d72 strip: move into core
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 45842
diff changeset
    24
46164
a27aa754d6ba relnotes: document that `hg extdiff` also got -r replaced by --from/--to
Martin von Zweigbergk <martinvonz@google.com>
parents: 46143
diff changeset
    25
 * `hg diff` and `hg extdiff` now support `--from <rev>` and `--to <rev>`
a27aa754d6ba relnotes: document that `hg extdiff` also got -r replaced by --from/--to
Martin von Zweigbergk <martinvonz@google.com>
parents: 46143
diff changeset
    26
   arguments as clearer alternatives to `-r <revs>`. `-r <revs>` has been
46108
aa4dbc14f735 diff: deprecate -r option
Martin von Zweigbergk <martinvonz@google.com>
parents: 46097
diff changeset
    27
   deprecated.
46088
64292addbe67 diff: add --from and --to flags as clearer alternative to -r -r
Martin von Zweigbergk <martinvonz@google.com>
parents: 46013
diff changeset
    28
46013
cb623dedb17c relnotes: document better memory use for unbundle
Joerg Sonnenberger <joerg@bec.de>
parents: 45882
diff changeset
    29
 * The memory footprint per changeset during pull/unbundle
cb623dedb17c relnotes: document better memory use for unbundle
Joerg Sonnenberger <joerg@bec.de>
parents: 45882
diff changeset
    30
   operations has been further reduced.
cb623dedb17c relnotes: document better memory use for unbundle
Joerg Sonnenberger <joerg@bec.de>
parents: 45882
diff changeset
    31
46109
bdc2bf68f19e mergetools: add new conflict marker format with diffs in
Martin von Zweigbergk <martinvonz@google.com>
parents: 46108
diff changeset
    32
 * There is a new internal merge tool called `internal:mergediff` (can
bdc2bf68f19e mergetools: add new conflict marker format with diffs in
Martin von Zweigbergk <martinvonz@google.com>
parents: 46108
diff changeset
    33
   be set as the value for the `merge` config in the `[ui]`
bdc2bf68f19e mergetools: add new conflict marker format with diffs in
Martin von Zweigbergk <martinvonz@google.com>
parents: 46108
diff changeset
    34
   section). It resolves merges the same was as `internal:merge` and
bdc2bf68f19e mergetools: add new conflict marker format with diffs in
Martin von Zweigbergk <martinvonz@google.com>
parents: 46108
diff changeset
    35
   `internal:merge3`, but it shows conflicts differently. Instead of
bdc2bf68f19e mergetools: add new conflict marker format with diffs in
Martin von Zweigbergk <martinvonz@google.com>
parents: 46108
diff changeset
    36
   showing 2 or 3 snapshots of the conflicting pieces of code, it
bdc2bf68f19e mergetools: add new conflict marker format with diffs in
Martin von Zweigbergk <martinvonz@google.com>
parents: 46108
diff changeset
    37
   shows one snapshot and a diff. This may be useful when at least one
46140
3ca5ca380a34 filemerge: add support for the new "mergediff" marker style to premerge
Martin von Zweigbergk <martinvonz@google.com>
parents: 46109
diff changeset
    38
   side of the conflict is similar to the base. The new marker style
3ca5ca380a34 filemerge: add support for the new "mergediff" marker style to premerge
Martin von Zweigbergk <martinvonz@google.com>
parents: 46109
diff changeset
    39
   is also supported by "premerge" as
3ca5ca380a34 filemerge: add support for the new "mergediff" marker style to premerge
Martin von Zweigbergk <martinvonz@google.com>
parents: 46109
diff changeset
    40
   `merge-tools.<tool>.premerge=keep-mergediff`.
46097
4d5e2fd53707 singlehead: introduce option to restrict to public changes
Joerg Sonnenberger <joerg@bec.de>
parents: 46088
diff changeset
    41
46143
634cea2c247f relnotes: document automatically setting `HGPLAIN=1` for external hooks
Matt Harbison <matt_harbison@yahoo.com>
parents: 46140
diff changeset
    42
 * External hooks are now called with `HGPLAIN=1` preset.
634cea2c247f relnotes: document automatically setting `HGPLAIN=1` for external hooks
Matt Harbison <matt_harbison@yahoo.com>
parents: 46140
diff changeset
    43
46254
c4b792fa109e branchmap: avoid ancestor computations in absence of non-continous branches
Joerg Sonnenberger <joerg@bec.de>
parents: 46237
diff changeset
    44
 * The `branchmap` cache is updated more intelligently and can be
c4b792fa109e branchmap: avoid ancestor computations in absence of non-continous branches
Joerg Sonnenberger <joerg@bec.de>
parents: 46237
diff changeset
    45
   significantly faster for repositories with many branches and changesets.
c4b792fa109e branchmap: avoid ancestor computations in absence of non-continous branches
Joerg Sonnenberger <joerg@bec.de>
parents: 46237
diff changeset
    46
46444
3e91d9978bec branchmap: update rev-branch-cache incrementally
Joerg Sonnenberger <joerg@bec.de>
parents: 46442
diff changeset
    47
 * The `rev-branch-cache` is now updated incrementally whenever changesets
3e91d9978bec branchmap: update rev-branch-cache incrementally
Joerg Sonnenberger <joerg@bec.de>
parents: 46442
diff changeset
    48
   are added.
3e91d9978bec branchmap: update rev-branch-cache incrementally
Joerg Sonnenberger <joerg@bec.de>
parents: 46442
diff changeset
    49
46254
c4b792fa109e branchmap: avoid ancestor computations in absence of non-continous branches
Joerg Sonnenberger <joerg@bec.de>
parents: 46237
diff changeset
    50
44401
9dab3fa64325 copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44399
diff changeset
    51
== New Experimental Features ==
44377
8561ad49915d revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents: 44335
diff changeset
    52
46097
4d5e2fd53707 singlehead: introduce option to restrict to public changes
Joerg Sonnenberger <joerg@bec.de>
parents: 46088
diff changeset
    53
* `experimental.single-head-per-branch:public-changes-only` can be used
4d5e2fd53707 singlehead: introduce option to restrict to public changes
Joerg Sonnenberger <joerg@bec.de>
parents: 46088
diff changeset
    54
  restrict the single head check to public revision. This is useful for
4d5e2fd53707 singlehead: introduce option to restrict to public changes
Joerg Sonnenberger <joerg@bec.de>
parents: 46088
diff changeset
    55
  overlay repository that have both a publishing and non-publishing view
4d5e2fd53707 singlehead: introduce option to restrict to public changes
Joerg Sonnenberger <joerg@bec.de>
parents: 46088
diff changeset
    56
  of the same storage.
45191
fc54f52779dd relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents: 45190
diff changeset
    57
fc54f52779dd relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents: 45190
diff changeset
    58
fc54f52779dd relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents: 45190
diff changeset
    59
== Bug Fixes ==
fc54f52779dd relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents: 45190
diff changeset
    60
fc54f52779dd relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents: 45190
diff changeset
    61
45189
045f5361bd12 relnotes: make spacing before new section consistent
Manuel Jacob <me@manueljacob.de>
parents: 45169
diff changeset
    62
42298
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    63
== Backwards Compatibility Changes ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    64
46237
bc884e31b8c8 debuglock: rename flag names to better clarity
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46164
diff changeset
    65
 * `--force-lock` and `--force-wlock` options on `hg debuglock` command are
bc884e31b8c8 debuglock: rename flag names to better clarity
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46164
diff changeset
    66
   renamed to `--force-free-lock` and `--force-free-wlock` respectively.
45191
fc54f52779dd relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents: 45190
diff changeset
    67
44427
acbfa31cfaf2 debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents: 44423
diff changeset
    68
42298
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    69
== Internal API Changes ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    70
46442
cad17d50736c changelog: move branchinfo to changelogrevision
Joerg Sonnenberger <joerg@bec.de>
parents: 46440
diff changeset
    71
 * `changelog.branchinfo` is deprecated and will be removed after 5.8.
cad17d50736c changelog: move branchinfo to changelogrevision
Joerg Sonnenberger <joerg@bec.de>
parents: 46440
diff changeset
    72
   It is superseded by `changelogrevision.branchinfo`.