annotate tests/test-merge-types.t @ 47010:76ae43d5b1db stable

repoview: fix memory leak of filtered repo classes The leak occurs in long-running server processes with extensions, and is measured at 110kB per request. Before this change, the contents of the `_filteredrepotypes` cache are not properly garbage collected, despite it begin a `WeakKeyDictionary`. Extensions have a tendency to generate a new repository class for each `localrepo` instantiation. Server processes based on `hgwebdir_mod` will instantiate a new `localrepo` for each HTTP request that involves a repository. As a result, with a testing process that repeatedly opens a repository with several extensions activated (`topic` notably among them), we see a steady increase in resident memory of 110kB per repository instantiation before this change. This is also true, if we call `gc.collect()` at each instantiation, like `hgwebdir_mod` does, or not. The cause of the leak is that the *values* aren't weak references. This change uses `weakref.ref` for the values, and this makes in our measurements the resident size increase drop to 5kB per repository instantiation, with no explicit call of `gc.collect()` at all. There is currently no reason to believe that this remaining leak of 5kB is related to or even due to Mercurial core. We've also seen evidence that `ui.ui` instances weren't properly garbage collected before the change (with the change, they are). This could explain why the figures are relatively high. In theory, the collection of weak references could lead to much more misses in the cache, so we measured the impact on the original case that was motivation for introducing that cache in 7e89bd0cfb86 (see also issue5043): `hg convert` of the mozilla-central repository. The bad news here is that there is a major memory leak there, both with and without the present changeset. There were no more cache misses, and we could see no more memory leak with this change: the resident size after importing roughly 100000 changesets was at 12.4GB before, and 12.5GB after. The small increase is mentioned for completeness only, and we believe that it should be ignored, at least as long as the main leak isn't fixed. At less than 1% of the main leak, even finding out whether it is merely noise would be wasteful. Original context where this was spotted and first mitigated: https://foss.heptapod.net/heptapod/heptapod/-/issues/466 The leak reduction was also obtained in Heptapod inner HTTP server, which amounts to the same as `hgwebdir_mod` for these questions. The measurements done with Python 3.9, similar figures seen with 3.8. More work on our side would be needed to give measurements with 2.7, because of testing server process does not support it.
author Georges Racinet <georges.racinet@octobus.net>
date Fri, 23 Apr 2021 18:30:53 +0200
parents 4764e8436b2a
children b7fde9237c92
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 21947
diff changeset
1 #require symlink execbit
15441
e0348815e806 tests: use 'hghave symlink' for tests using symlinks
Mads Kiilerich <mads@kiilerich.com>
parents: 12279
diff changeset
2
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
3 $ tellmeabout() {
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
4 > if [ -h $1 ]; then
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
5 > echo $1 is a symlink:
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
6 > $TESTDIR/readlink.py $1
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
7 > elif [ -x $1 ]; then
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
8 > echo $1 is an executable file with content:
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
9 > cat $1
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
10 > else
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
11 > echo $1 is a plain file with content:
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
12 > cat $1
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
13 > fi
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
14 > }
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
15
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
16 $ hg init test1
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
17 $ cd test1
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
18
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5710
diff changeset
19 $ echo a > a
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
20 $ hg ci -Aqmadd
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5710
diff changeset
21 $ chmod +x a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5710
diff changeset
22 $ hg ci -mexecutable
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
23
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
24 $ hg up -q 0
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5710
diff changeset
25 $ rm a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5710
diff changeset
26 $ ln -s symlink a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5710
diff changeset
27 $ hg ci -msymlink
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5710
diff changeset
28 created new head
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
29
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
30 Symlink is local parent, executable is other:
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
31
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5710
diff changeset
32 $ hg merge --debug
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5710
diff changeset
33 resolving manifests
18605
bcf29565d89f manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents: 18541
diff changeset
34 branchmerge: True, force: False, partial: False
15625
efdcce3fd2d5 merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents: 15442
diff changeset
35 ancestor: c334dc3be0da, local: 521a1e40188f+, remote: 3574f3e69b1c
21391
cb15835456cb merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents: 21267
diff changeset
36 preserving a for resolve of a
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
37 a: versions differ -> m (premerge)
40471
844a40687d83 test: remove changes preparing the drop of `HGMERGE`
Boris Feld <boris.feld@octobus.net>
parents: 40467
diff changeset
38 tool internal:merge (for pattern a) can't handle symlinks
40467
ee17af097257 test: drop usage of `HGMERGE` in `test-merge-types.t`
Boris Feld <boris.feld@octobus.net>
parents: 35704
diff changeset
39 couldn't find merge tool hgmerge
ee17af097257 test: drop usage of `HGMERGE` in `test-merge-types.t`
Boris Feld <boris.feld@octobus.net>
parents: 35704
diff changeset
40 no tool found to merge a
ee17af097257 test: drop usage of `HGMERGE` in `test-merge-types.t`
Boris Feld <boris.feld@octobus.net>
parents: 35704
diff changeset
41 picked tool ':prompt' for a (binary False symlink True changedelete False)
42565
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
42 file 'a' needs to be resolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
43 You can keep (l)ocal [working copy], take (o)ther [merge rev], or leave (u)nresolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
44 What do you want to do? u
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
45 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32698
diff changeset
46 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
47 [1]
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
48
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
49 $ tellmeabout a
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
50 a is a symlink:
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
51 a -> symlink
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
52 $ hg resolve a --tool internal:other
21947
b081decd9062 resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21693
diff changeset
53 (no more unresolved files)
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
54 $ tellmeabout a
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
55 a is an executable file with content:
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
56 a
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
57 $ hg st
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
58 M a
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
59 ? a.orig
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
60
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
61 Symlink is other parent, executable is local:
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5710
diff changeset
62
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5710
diff changeset
63 $ hg update -C 1
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5710
diff changeset
64 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
65
26518
a77679d0b887 filemerge: print correct name of tool for symlink checks
Siddharth Agarwal <sid0@fb.com>
parents: 26517
diff changeset
66 $ hg merge --debug --tool :union
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5710
diff changeset
67 resolving manifests
18605
bcf29565d89f manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents: 18541
diff changeset
68 branchmerge: True, force: False, partial: False
15625
efdcce3fd2d5 merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents: 15442
diff changeset
69 ancestor: c334dc3be0da, local: 3574f3e69b1c+, remote: 521a1e40188f
21391
cb15835456cb merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents: 21267
diff changeset
70 preserving a for resolve of a
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
71 a: versions differ -> m (premerge)
27161
296d55def9c4 filemerge: add debug output for whether this is a change/delete conflict
Siddharth Agarwal <sid0@fb.com>
parents: 26967
diff changeset
72 picked tool ':union' for a (binary False symlink True changedelete False)
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
73 merging a
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
74 my a@3574f3e69b1c+ other a@521a1e40188f ancestor a@c334dc3be0da
26518
a77679d0b887 filemerge: print correct name of tool for symlink checks
Siddharth Agarwal <sid0@fb.com>
parents: 26517
diff changeset
75 warning: internal :union cannot merge symlinks for a
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26519
diff changeset
76 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
77 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32698
diff changeset
78 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
79 [1]
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
80
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
81 $ tellmeabout a
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
82 a is an executable file with content:
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
83 a
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5710
diff changeset
84
26519
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
85 $ hg update -C 1
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
86 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
87
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
88 $ hg merge --debug --tool :merge3
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
89 resolving manifests
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
90 branchmerge: True, force: False, partial: False
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
91 ancestor: c334dc3be0da, local: 3574f3e69b1c+, remote: 521a1e40188f
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
92 preserving a for resolve of a
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
93 a: versions differ -> m (premerge)
27161
296d55def9c4 filemerge: add debug output for whether this is a change/delete conflict
Siddharth Agarwal <sid0@fb.com>
parents: 26967
diff changeset
94 picked tool ':merge3' for a (binary False symlink True changedelete False)
26519
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
95 merging a
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
96 my a@3574f3e69b1c+ other a@521a1e40188f ancestor a@c334dc3be0da
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
97 warning: internal :merge3 cannot merge symlinks for a
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26519
diff changeset
98 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
26519
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
99 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32698
diff changeset
100 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
26519
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
101 [1]
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
102
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
103 $ tellmeabout a
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
104 a is an executable file with content:
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
105 a
48476c6129a2 filemerge: run symlink check for :merge3
Siddharth Agarwal <sid0@fb.com>
parents: 26518
diff changeset
106
26892
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
107 $ hg update -C 1
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
108 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
109
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
110 $ hg merge --debug --tool :merge-local
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
111 resolving manifests
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
112 branchmerge: True, force: False, partial: False
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
113 ancestor: c334dc3be0da, local: 3574f3e69b1c+, remote: 521a1e40188f
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
114 preserving a for resolve of a
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
115 a: versions differ -> m (premerge)
27161
296d55def9c4 filemerge: add debug output for whether this is a change/delete conflict
Siddharth Agarwal <sid0@fb.com>
parents: 26967
diff changeset
116 picked tool ':merge-local' for a (binary False symlink True changedelete False)
26892
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
117 merging a
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
118 my a@3574f3e69b1c+ other a@521a1e40188f ancestor a@c334dc3be0da
26893
19c4b93cb7d6 filemerge: move :merge-local/other symlink check to precheck
Siddharth Agarwal <sid0@fb.com>
parents: 26892
diff changeset
119 warning: internal :merge-local cannot merge symlinks for a
26892
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
120 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32698
diff changeset
121 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
26892
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
122 [1]
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
123
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
124 $ tellmeabout a
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
125 a is an executable file with content:
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
126 a
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
127
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
128 $ hg update -C 1
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
129 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
130
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
131 $ hg merge --debug --tool :merge-other
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
132 resolving manifests
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
133 branchmerge: True, force: False, partial: False
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
134 ancestor: c334dc3be0da, local: 3574f3e69b1c+, remote: 521a1e40188f
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
135 preserving a for resolve of a
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
136 a: versions differ -> m (premerge)
27161
296d55def9c4 filemerge: add debug output for whether this is a change/delete conflict
Siddharth Agarwal <sid0@fb.com>
parents: 26967
diff changeset
137 picked tool ':merge-other' for a (binary False symlink True changedelete False)
26892
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
138 merging a
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
139 my a@3574f3e69b1c+ other a@521a1e40188f ancestor a@c334dc3be0da
26893
19c4b93cb7d6 filemerge: move :merge-local/other symlink check to precheck
Siddharth Agarwal <sid0@fb.com>
parents: 26892
diff changeset
140 warning: internal :merge-other cannot merge symlinks for a
26892
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
141 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32698
diff changeset
142 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
26892
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
143 [1]
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
144
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
145 $ tellmeabout a
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
146 a is an executable file with content:
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
147 a
4b966aaadc45 test-merge-types.t: add tests for :merge-local/:merge-other with symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
148
16255
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
149 Update to link without local change should get us a symlink (issue3316):
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
150
17110
722fd97f6645 tests: fix test markup in test-merge-types.t
Mads Kiilerich <mads@kiilerich.com>
parents: 16355
diff changeset
151 $ hg up -C 0
722fd97f6645 tests: fix test markup in test-merge-types.t
Mads Kiilerich <mads@kiilerich.com>
parents: 16355
diff changeset
152 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
722fd97f6645 tests: fix test markup in test-merge-types.t
Mads Kiilerich <mads@kiilerich.com>
parents: 16355
diff changeset
153 $ hg up
722fd97f6645 tests: fix test markup in test-merge-types.t
Mads Kiilerich <mads@kiilerich.com>
parents: 16355
diff changeset
154 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
32698
1b5c61d38a52 update: show the commit to which we updated in case of multiple heads (BC)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32253
diff changeset
155 updated to "521a1e40188f: symlink"
28029
72072cfc7e91 update: warn about other topological heads on bare update
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27164
diff changeset
156 1 other heads for branch "default"
17110
722fd97f6645 tests: fix test markup in test-merge-types.t
Mads Kiilerich <mads@kiilerich.com>
parents: 16355
diff changeset
157 $ hg st
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
158 ? a.orig
16255
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
159
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
160 Update to link with local change should cause a merge prompt (issue3200):
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
161
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
162 $ hg up -Cq 0
16255
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
163 $ echo data > a
40467
ee17af097257 test: drop usage of `HGMERGE` in `test-merge-types.t`
Boris Feld <boris.feld@octobus.net>
parents: 35704
diff changeset
164 $ HGMERGE= hg up -y --debug --config ui.merge=
16255
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
165 resolving manifests
18605
bcf29565d89f manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents: 18541
diff changeset
166 branchmerge: False, force: False, partial: False
16255
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
167 ancestor: c334dc3be0da, local: c334dc3be0da+, remote: 521a1e40188f
21391
cb15835456cb merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents: 21267
diff changeset
168 preserving a for resolve of a
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
169 a: versions differ -> m (premerge)
16355
cb1475e7e5a2 test-merge-types: allow different output with existing hgmerge (issue3346)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16255
diff changeset
170 (couldn't find merge tool hgmerge|tool hgmerge can't handle symlinks) (re)
32253
7d4ce4b567c5 filemerge: show warning about choice of :prompt only at an actual fallback
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30460
diff changeset
171 no tool found to merge a
27161
296d55def9c4 filemerge: add debug output for whether this is a change/delete conflict
Siddharth Agarwal <sid0@fb.com>
parents: 26967
diff changeset
172 picked tool ':prompt' for a (binary False symlink True changedelete False)
42565
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
173 file 'a' needs to be resolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
174 You can keep (l)ocal [working copy], take (o)ther [destination], or leave (u)nresolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
175 What do you want to do? u
27164
88d5db4b155c filemerge: default regular prompts to 'leave unresolved' (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 27162
diff changeset
176 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
88d5db4b155c filemerge: default regular prompts to 'leave unresolved' (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 27162
diff changeset
177 use 'hg resolve' to retry unresolved file merges
32698
1b5c61d38a52 update: show the commit to which we updated in case of multiple heads (BC)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32253
diff changeset
178 updated to "521a1e40188f: symlink"
28029
72072cfc7e91 update: warn about other topological heads on bare update
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27164
diff changeset
179 1 other heads for branch "default"
27164
88d5db4b155c filemerge: default regular prompts to 'leave unresolved' (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 27162
diff changeset
180 [1]
16255
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
181 $ hg diff --git
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
182 diff --git a/a b/a
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
183 old mode 120000
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
184 new mode 100644
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
185 --- a/a
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
186 +++ b/a
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
187 @@ -1,1 +1,1 @@
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
188 -symlink
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
189 \ No newline at end of file
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
190 +data
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
191
ca5cc2976574 merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
192
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
193 Test only 'l' change - happens rarely, except when recovering from situations
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
194 where that was what happened.
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
195
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
196 $ hg init test2
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
197 $ cd test2
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
198 $ printf base > f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
199 $ hg ci -Aqm0
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
200 $ echo file > f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
201 $ echo content >> f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
202 $ hg ci -qm1
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
203 $ hg up -qr0
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
204 $ rm f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
205 $ ln -s base f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
206 $ hg ci -qm2
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
207 $ hg merge
40471
844a40687d83 test: remove changes preparing the drop of `HGMERGE`
Boris Feld <boris.feld@octobus.net>
parents: 40467
diff changeset
208 tool internal:merge (for pattern f) can't handle symlinks
40467
ee17af097257 test: drop usage of `HGMERGE` in `test-merge-types.t`
Boris Feld <boris.feld@octobus.net>
parents: 35704
diff changeset
209 no tool found to merge f
42565
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
210 file 'f' needs to be resolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
211 You can keep (l)ocal [working copy], take (o)ther [merge rev], or leave (u)nresolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
212 What do you want to do? u
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
213 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32698
diff changeset
214 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
215 [1]
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
216 $ tellmeabout f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
217 f is a symlink:
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
218 f -> base
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
219
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
220 $ hg up -Cqr1
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
221 $ hg merge
40471
844a40687d83 test: remove changes preparing the drop of `HGMERGE`
Boris Feld <boris.feld@octobus.net>
parents: 40467
diff changeset
222 tool internal:merge (for pattern f) can't handle symlinks
40467
ee17af097257 test: drop usage of `HGMERGE` in `test-merge-types.t`
Boris Feld <boris.feld@octobus.net>
parents: 35704
diff changeset
223 no tool found to merge f
42565
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
224 file 'f' needs to be resolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
225 You can keep (l)ocal [working copy], take (o)ther [merge rev], or leave (u)nresolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
226 What do you want to do? u
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
227 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32698
diff changeset
228 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
229 [1]
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
230 $ tellmeabout f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
231 f is a plain file with content:
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
232 file
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
233 content
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
234
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
235 $ cd ..
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
236
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
237 Test removed 'x' flag merged with change to symlink
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
238
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
239 $ hg init test3
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
240 $ cd test3
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
241 $ echo f > f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
242 $ chmod +x f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
243 $ hg ci -Aqm0
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
244 $ chmod -x f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
245 $ hg ci -qm1
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
246 $ hg up -qr0
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
247 $ rm f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
248 $ ln -s dangling f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
249 $ hg ci -qm2
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
250 $ hg merge
40471
844a40687d83 test: remove changes preparing the drop of `HGMERGE`
Boris Feld <boris.feld@octobus.net>
parents: 40467
diff changeset
251 tool internal:merge (for pattern f) can't handle symlinks
40467
ee17af097257 test: drop usage of `HGMERGE` in `test-merge-types.t`
Boris Feld <boris.feld@octobus.net>
parents: 35704
diff changeset
252 no tool found to merge f
42565
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
253 file 'f' needs to be resolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
254 You can keep (l)ocal [working copy], take (o)ther [merge rev], or leave (u)nresolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
255 What do you want to do? u
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
256 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32698
diff changeset
257 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
258 [1]
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
259 $ tellmeabout f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
260 f is a symlink:
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
261 f -> dangling
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
262
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
263 $ hg up -Cqr1
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
264 $ hg merge
40471
844a40687d83 test: remove changes preparing the drop of `HGMERGE`
Boris Feld <boris.feld@octobus.net>
parents: 40467
diff changeset
265 tool internal:merge (for pattern f) can't handle symlinks
40467
ee17af097257 test: drop usage of `HGMERGE` in `test-merge-types.t`
Boris Feld <boris.feld@octobus.net>
parents: 35704
diff changeset
266 no tool found to merge f
42565
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
267 file 'f' needs to be resolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
268 You can keep (l)ocal [working copy], take (o)ther [merge rev], or leave (u)nresolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
269 What do you want to do? u
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
270 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32698
diff changeset
271 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
272 [1]
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
273 $ tellmeabout f
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
274 f is a plain file with content:
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
275 f
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
276
18505
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
277 Test removed 'x' flag merged with content change - both ways
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
278
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
279 $ hg up -Cqr0
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
280 $ echo change > f
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
281 $ hg ci -qm3
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
282 $ hg merge -r1
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
283 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
284 (branch merge, don't forget to commit)
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
285 $ tellmeabout f
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
286 f is a plain file with content:
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
287 change
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
288
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
289 $ hg up -qCr1
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
290 $ hg merge -r3
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
291 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
292 (branch merge, don't forget to commit)
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
293 $ tellmeabout f
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
294 f is a plain file with content:
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
295 change
9de9727cea53 merge: fix UnboundLocalError (issue3791)
Mads Kiilerich <madski@unity3d.com>
parents: 18338
diff changeset
296
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
297 $ cd ..
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
298
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
299 Test merge with no common ancestor:
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
300 a: just different
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
301 b: x vs -, different (cannot calculate x, cannot ask merge tool)
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
302 c: x vs -, same (cannot calculate x, merge tool is no good)
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
303 d: x vs l, different
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
304 e: x vs l, same
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
305 f: - vs l, different
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
306 g: - vs l, same
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
307 h: l vs l, different
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
308 (where same means the filelog entry is shared and there thus is an ancestor!)
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
309
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
310 $ hg init test4
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
311 $ cd test4
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
312 $ echo 0 > 0
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
313 $ hg ci -Aqm0
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
314
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
315 $ echo 1 > a
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
316 $ echo 1 > b
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
317 $ chmod +x b
30160
008c4ce64e3f tests: add test coverage of merging x flag without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30062
diff changeset
318 $ echo 1 > bx
008c4ce64e3f tests: add test coverage of merging x flag without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30062
diff changeset
319 $ chmod +x bx
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
320 $ echo x > c
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
321 $ chmod +x c
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
322 $ echo 1 > d
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
323 $ chmod +x d
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
324 $ printf x > e
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
325 $ chmod +x e
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
326 $ echo 1 > f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
327 $ printf x > g
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
328 $ ln -s 1 h
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
329 $ hg ci -qAm1
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
330
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
331 $ hg up -qr0
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
332 $ echo 2 > a
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
333 $ echo 2 > b
30160
008c4ce64e3f tests: add test coverage of merging x flag without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30062
diff changeset
334 $ echo 2 > bx
008c4ce64e3f tests: add test coverage of merging x flag without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30062
diff changeset
335 $ chmod +x bx
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
336 $ echo x > c
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
337 $ ln -s 2 d
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
338 $ ln -s x e
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
339 $ ln -s 2 f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
340 $ ln -s x g
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
341 $ ln -s 2 h
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
342 $ hg ci -Aqm2
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
343
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
344 $ hg merge
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
345 merging a
30162
5cb830801855 merge: clarify warning for (not) merging flags without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30161
diff changeset
346 warning: cannot merge flags for b without common ancestor - keeping local flags
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
347 merging b
30160
008c4ce64e3f tests: add test coverage of merging x flag without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30062
diff changeset
348 merging bx
30162
5cb830801855 merge: clarify warning for (not) merging flags without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30161
diff changeset
349 warning: cannot merge flags for c without common ancestor - keeping local flags
40471
844a40687d83 test: remove changes preparing the drop of `HGMERGE`
Boris Feld <boris.feld@octobus.net>
parents: 40467
diff changeset
350 tool internal:merge (for pattern d) can't handle symlinks
40467
ee17af097257 test: drop usage of `HGMERGE` in `test-merge-types.t`
Boris Feld <boris.feld@octobus.net>
parents: 35704
diff changeset
351 no tool found to merge d
42565
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
352 file 'd' needs to be resolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
353 You can keep (l)ocal [working copy], take (o)ther [merge rev], or leave (u)nresolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
354 What do you want to do? u
40471
844a40687d83 test: remove changes preparing the drop of `HGMERGE`
Boris Feld <boris.feld@octobus.net>
parents: 40467
diff changeset
355 tool internal:merge (for pattern f) can't handle symlinks
40467
ee17af097257 test: drop usage of `HGMERGE` in `test-merge-types.t`
Boris Feld <boris.feld@octobus.net>
parents: 35704
diff changeset
356 no tool found to merge f
42565
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
357 file 'f' needs to be resolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
358 You can keep (l)ocal [working copy], take (o)ther [merge rev], or leave (u)nresolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
359 What do you want to do? u
40471
844a40687d83 test: remove changes preparing the drop of `HGMERGE`
Boris Feld <boris.feld@octobus.net>
parents: 40467
diff changeset
360 tool internal:merge (for pattern h) can't handle symlinks
40467
ee17af097257 test: drop usage of `HGMERGE` in `test-merge-types.t`
Boris Feld <boris.feld@octobus.net>
parents: 35704
diff changeset
361 no tool found to merge h
42565
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
362 file 'h' needs to be resolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
363 You can keep (l)ocal [working copy], take (o)ther [merge rev], or leave (u)nresolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
364 What do you want to do? u
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
365 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
366 warning: conflicts while merging b! (edit, then use 'hg resolve --mark')
30160
008c4ce64e3f tests: add test coverage of merging x flag without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30062
diff changeset
367 warning: conflicts while merging bx! (edit, then use 'hg resolve --mark')
008c4ce64e3f tests: add test coverage of merging x flag without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30062
diff changeset
368 3 files updated, 0 files merged, 0 files removed, 6 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32698
diff changeset
369 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
370 [1]
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
371 $ hg resolve -l
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
372 U a
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
373 U b
30160
008c4ce64e3f tests: add test coverage of merging x flag without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30062
diff changeset
374 U bx
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
375 U d
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
376 U f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
377 U h
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
378 $ tellmeabout a
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
379 a is a plain file with content:
30160
008c4ce64e3f tests: add test coverage of merging x flag without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30062
diff changeset
380 <<<<<<< working copy: 0c617753b41b - test: 2
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
381 2
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
382 =======
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
383 1
30460
ce3a133f71b3 conflicts: make spacing consistent in conflict markers
Kostia Balytskyi <ikostia@fb.com>
parents: 30162
diff changeset
384 >>>>>>> merge rev: 2e60aa20b912 - test: 1
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
385 $ tellmeabout b
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
386 b is a plain file with content:
30160
008c4ce64e3f tests: add test coverage of merging x flag without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30062
diff changeset
387 <<<<<<< working copy: 0c617753b41b - test: 2
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
388 2
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
389 =======
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
390 1
30460
ce3a133f71b3 conflicts: make spacing consistent in conflict markers
Kostia Balytskyi <ikostia@fb.com>
parents: 30162
diff changeset
391 >>>>>>> merge rev: 2e60aa20b912 - test: 1
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
392 $ tellmeabout c
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
393 c is a plain file with content:
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
394 x
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
395 $ tellmeabout d
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
396 d is a symlink:
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
397 d -> 2
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
398 $ tellmeabout e
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
399 e is a symlink:
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
400 e -> x
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
401 $ tellmeabout f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
402 f is a symlink:
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
403 f -> 2
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
404 $ tellmeabout g
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
405 g is a symlink:
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
406 g -> x
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
407 $ tellmeabout h
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
408 h is a symlink:
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
409 h -> 2
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
410
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
411 $ hg up -Cqr1
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
412 $ hg merge
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
413 merging a
30162
5cb830801855 merge: clarify warning for (not) merging flags without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30161
diff changeset
414 warning: cannot merge flags for b without common ancestor - keeping local flags
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
415 merging b
30160
008c4ce64e3f tests: add test coverage of merging x flag without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30062
diff changeset
416 merging bx
30162
5cb830801855 merge: clarify warning for (not) merging flags without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30161
diff changeset
417 warning: cannot merge flags for c without common ancestor - keeping local flags
40471
844a40687d83 test: remove changes preparing the drop of `HGMERGE`
Boris Feld <boris.feld@octobus.net>
parents: 40467
diff changeset
418 tool internal:merge (for pattern d) can't handle symlinks
40467
ee17af097257 test: drop usage of `HGMERGE` in `test-merge-types.t`
Boris Feld <boris.feld@octobus.net>
parents: 35704
diff changeset
419 no tool found to merge d
42565
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
420 file 'd' needs to be resolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
421 You can keep (l)ocal [working copy], take (o)ther [merge rev], or leave (u)nresolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
422 What do you want to do? u
40471
844a40687d83 test: remove changes preparing the drop of `HGMERGE`
Boris Feld <boris.feld@octobus.net>
parents: 40467
diff changeset
423 tool internal:merge (for pattern f) can't handle symlinks
40467
ee17af097257 test: drop usage of `HGMERGE` in `test-merge-types.t`
Boris Feld <boris.feld@octobus.net>
parents: 35704
diff changeset
424 no tool found to merge f
42565
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
425 file 'f' needs to be resolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
426 You can keep (l)ocal [working copy], take (o)ther [merge rev], or leave (u)nresolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
427 What do you want to do? u
40471
844a40687d83 test: remove changes preparing the drop of `HGMERGE`
Boris Feld <boris.feld@octobus.net>
parents: 40467
diff changeset
428 tool internal:merge (for pattern h) can't handle symlinks
40467
ee17af097257 test: drop usage of `HGMERGE` in `test-merge-types.t`
Boris Feld <boris.feld@octobus.net>
parents: 35704
diff changeset
429 no tool found to merge h
42565
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
430 file 'h' needs to be resolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
431 You can keep (l)ocal [working copy], take (o)ther [merge rev], or leave (u)nresolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
432 What do you want to do? u
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
433 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
434 warning: conflicts while merging b! (edit, then use 'hg resolve --mark')
30160
008c4ce64e3f tests: add test coverage of merging x flag without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30062
diff changeset
435 warning: conflicts while merging bx! (edit, then use 'hg resolve --mark')
008c4ce64e3f tests: add test coverage of merging x flag without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30062
diff changeset
436 3 files updated, 0 files merged, 0 files removed, 6 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32698
diff changeset
437 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
438 [1]
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
439 $ tellmeabout a
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
440 a is a plain file with content:
30460
ce3a133f71b3 conflicts: make spacing consistent in conflict markers
Kostia Balytskyi <ikostia@fb.com>
parents: 30162
diff changeset
441 <<<<<<< working copy: 2e60aa20b912 - test: 1
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
442 1
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
443 =======
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
444 2
30160
008c4ce64e3f tests: add test coverage of merging x flag without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30062
diff changeset
445 >>>>>>> merge rev: 0c617753b41b - test: 2
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
446 $ tellmeabout b
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
447 b is an executable file with content:
30460
ce3a133f71b3 conflicts: make spacing consistent in conflict markers
Kostia Balytskyi <ikostia@fb.com>
parents: 30162
diff changeset
448 <<<<<<< working copy: 2e60aa20b912 - test: 1
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
449 1
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
450 =======
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
451 2
30160
008c4ce64e3f tests: add test coverage of merging x flag without ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 30062
diff changeset
452 >>>>>>> merge rev: 0c617753b41b - test: 2
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
453 $ tellmeabout c
20897
0b50788c160c merge: use ancestor filename from planning phase instead of filectx ancestor
Mads Kiilerich <madski@unity3d.com>
parents: 18605
diff changeset
454 c is an executable file with content:
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
455 x
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
456 $ tellmeabout d
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
457 d is an executable file with content:
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
458 1
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
459 $ tellmeabout e
18338
384df4db6520 merge: merge file flags together with file content
Mads Kiilerich <mads@kiilerich.com>
parents: 18337
diff changeset
460 e is an executable file with content:
18337
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
461 x (no-eol)
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
462 $ tellmeabout f
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
463 f is a plain file with content:
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
464 1
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
465 $ tellmeabout g
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
466 g is a plain file with content:
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
467 x (no-eol)
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
468 $ tellmeabout h
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
469 h is a symlink:
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
470 h -> 1
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
471
557c8522aec0 tests: better test coverage of merges of flags
Mads Kiilerich <mads@kiilerich.com>
parents: 18334
diff changeset
472 $ cd ..