Mercurial > hg
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 |
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`. |