annotate relnotes/5.7 @ 48716:f1eb77dceb36

narrow: allow merging non-conflicting change outside of the narrow spec We use the mergestate to carry information about these merge action and reprocess them at commit time to apply the necessary update. The dirstate itself is never affected and remains "pure", with content only in the narrow-spec. This file involved in such merge are therefor not listed in `hg status`. The current testing is based on a modification of the previous testing, that refused to do such merges. As a result it is a bit simple and more extensive code and testing testing will have to be introduced later. I am planning to do this extra testing, soon. In addition, this only works for flat manifest. Support for tree manifest will need more work. I am not currently planning to do this work. Differential Revision: https://phab.mercurial-scm.org/D12119
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Thu, 03 Feb 2022 18:14:11 +0100
parents d67732a4b58a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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
45867
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45865
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: 45865
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: 45865
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: 45865
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: 45865
diff changeset
7 `ui.graphnodetemplate` to `command-templates.graphnode`,
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45865
diff changeset
8 `ui.mergemarkertemplate` to `command-templates.mergemarker`,
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45865
diff changeset
9 `ui.pre-merge-tool-output-template` to
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45865
diff changeset
10 `command-templates.pre-merge-tool-output`.
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45865
diff changeset
11
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45865
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: 45865
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: 45865
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: 45865
diff changeset
15 can be overridden per command with
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45865
diff changeset
16 `command-templates.oneline-summary.<command>`, where `<command>`
774b1c0f2507 relnotes: document new [command-templates] section
Martin von Zweigbergk <martinvonz@google.com>
parents: 45865
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: 45865
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: 45557
diff changeset
19
46368
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
46164
a27aa754d6ba relnotes: document that `hg extdiff` also got -r replaced by --from/--to
Martin von Zweigbergk <martinvonz@google.com>
parents: 46142
diff changeset
22 * `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: 46142
diff changeset
23 arguments as clearer alternatives to `-r <revs>`. `-r <revs>` has been
46107
aa4dbc14f735 diff: deprecate -r option
Martin von Zweigbergk <martinvonz@google.com>
parents: 46096
diff changeset
24 deprecated.
46087
64292addbe67 diff: add --from and --to flags as clearer alternative to -r -r
Martin von Zweigbergk <martinvonz@google.com>
parents: 45998
diff changeset
25
45998
cb623dedb17c relnotes: document better memory use for unbundle
Joerg Sonnenberger <joerg@bec.de>
parents: 45867
diff changeset
26 * The memory footprint per changeset during pull/unbundle
cb623dedb17c relnotes: document better memory use for unbundle
Joerg Sonnenberger <joerg@bec.de>
parents: 45867
diff changeset
27 operations has been further reduced.
cb623dedb17c relnotes: document better memory use for unbundle
Joerg Sonnenberger <joerg@bec.de>
parents: 45867
diff changeset
28
46108
bdc2bf68f19e mergetools: add new conflict marker format with diffs in
Martin von Zweigbergk <martinvonz@google.com>
parents: 46107
diff changeset
29 * 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: 46107
diff changeset
30 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: 46107
diff changeset
31 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: 46107
diff changeset
32 `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: 46107
diff changeset
33 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: 46107
diff changeset
34 shows one snapshot and a diff. This may be useful when at least one
46139
3ca5ca380a34 filemerge: add support for the new "mergediff" marker style to premerge
Martin von Zweigbergk <martinvonz@google.com>
parents: 46108
diff changeset
35 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: 46108
diff changeset
36 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: 46108
diff changeset
37 `merge-tools.<tool>.premerge=keep-mergediff`.
46096
4d5e2fd53707 singlehead: introduce option to restrict to public changes
Joerg Sonnenberger <joerg@bec.de>
parents: 46087
diff changeset
38
46451
38d76908c011 relnotes: elaborate on the side effects of hooks having HGPLAIN=1
Matt Harbison <matt_harbison@yahoo.com>
parents: 46254
diff changeset
39 * External hooks are now called with `HGPLAIN=1` preset. This has the side
38d76908c011 relnotes: elaborate on the side effects of hooks having HGPLAIN=1
Matt Harbison <matt_harbison@yahoo.com>
parents: 46254
diff changeset
40 effect of ignoring aliases, templates, revsetaliases, and a few other config
38d76908c011 relnotes: elaborate on the side effects of hooks having HGPLAIN=1
Matt Harbison <matt_harbison@yahoo.com>
parents: 46254
diff changeset
41 options in any `hg` command spawned by the hook. The previous behavior
38d76908c011 relnotes: elaborate on the side effects of hooks having HGPLAIN=1
Matt Harbison <matt_harbison@yahoo.com>
parents: 46254
diff changeset
42 can be restored by setting HGPLAINEXCEPT appropriately in the parent process.
38d76908c011 relnotes: elaborate on the side effects of hooks having HGPLAIN=1
Matt Harbison <matt_harbison@yahoo.com>
parents: 46254
diff changeset
43 See `hg help environment` for the list of items, and how to set it.
46142
634cea2c247f relnotes: document automatically setting `HGPLAIN=1` for external hooks
Matt Harbison <matt_harbison@yahoo.com>
parents: 46139
diff changeset
44
46254
c4b792fa109e branchmap: avoid ancestor computations in absence of non-continous branches
Joerg Sonnenberger <joerg@bec.de>
parents: 46237
diff changeset
45 * 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
46 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
47
46372
3e91d9978bec branchmap: update rev-branch-cache incrementally
Joerg Sonnenberger <joerg@bec.de>
parents: 46370
diff changeset
48 * The `rev-branch-cache` is now updated incrementally whenever changesets
3e91d9978bec branchmap: update rev-branch-cache incrementally
Joerg Sonnenberger <joerg@bec.de>
parents: 46370
diff changeset
49 are added.
3e91d9978bec branchmap: update rev-branch-cache incrementally
Joerg Sonnenberger <joerg@bec.de>
parents: 46370
diff changeset
50
46254
c4b792fa109e branchmap: avoid ancestor computations in absence of non-continous branches
Joerg Sonnenberger <joerg@bec.de>
parents: 46237
diff changeset
51
44367
9dab3fa64325 copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44365
diff changeset
52 == New Experimental Features ==
44343
8561ad49915d revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents: 44289
diff changeset
53
46096
4d5e2fd53707 singlehead: introduce option to restrict to public changes
Joerg Sonnenberger <joerg@bec.de>
parents: 46087
diff changeset
54 * `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: 46087
diff changeset
55 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: 46087
diff changeset
56 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: 46087
diff changeset
57 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
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
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 == 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
61
fc54f52779dd relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents: 45190
diff changeset
62
45189
045f5361bd12 relnotes: make spacing before new section consistent
Manuel Jacob <me@manueljacob.de>
parents: 45169
diff changeset
63
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
64 == Backwards Compatibility Changes ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
65
46237
bc884e31b8c8 debuglock: rename flag names to better clarity
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46164
diff changeset
66 * `--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
67 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
68
44396
acbfa31cfaf2 debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents: 44392
diff changeset
69
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
70 == Internal API Changes ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
71
46370
cad17d50736c changelog: move branchinfo to changelogrevision
Joerg Sonnenberger <joerg@bec.de>
parents: 46368
diff changeset
72 * `changelog.branchinfo` is deprecated and will be removed after 5.8.
cad17d50736c changelog: move branchinfo to changelogrevision
Joerg Sonnenberger <joerg@bec.de>
parents: 46368
diff changeset
73 It is superseded by `changelogrevision.branchinfo`.