Mercurial > hg
annotate tests/test-merge4.t @ 44909:d452acc8cce8 stable
flags: account for flag change when tracking rename relevant to merge
There are some logic filtering rename to the one relevant to the merge. That
logic was oblivious of flag change, leading to exec flag being dropped when
merged with a renamed.
There are two others bugs affecting this scenario. This patch fix the was where
there is not modification involved except for the flag change. Fixes for the
other bug are coming in later changesets.
Differential Revision: https://phab.mercurial-scm.org/D8531
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sat, 16 May 2020 20:37:56 +0200 |
parents | 8561ad49915d |
children | fc4fb2f17dd4 |
rev | line source |
---|---|
11977
db2a291e25e9
tests: unify test-merge4
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
2283
diff
changeset
|
1 $ hg init |
db2a291e25e9
tests: unify test-merge4
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
2283
diff
changeset
|
2 $ echo This is file a1 > a |
db2a291e25e9
tests: unify test-merge4
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
2283
diff
changeset
|
3 $ hg add a |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11977
diff
changeset
|
4 $ hg commit -m "commit #0" |
11977
db2a291e25e9
tests: unify test-merge4
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
2283
diff
changeset
|
5 $ echo This is file b1 > b |
db2a291e25e9
tests: unify test-merge4
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
2283
diff
changeset
|
6 $ hg add b |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11977
diff
changeset
|
7 $ hg commit -m "commit #1" |
11977
db2a291e25e9
tests: unify test-merge4
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
2283
diff
changeset
|
8 $ hg update 0 |
db2a291e25e9
tests: unify test-merge4
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
2283
diff
changeset
|
9 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
db2a291e25e9
tests: unify test-merge4
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
2283
diff
changeset
|
10 $ echo This is file c1 > c |
db2a291e25e9
tests: unify test-merge4
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
2283
diff
changeset
|
11 $ hg add c |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11977
diff
changeset
|
12 $ hg commit -m "commit #2" |
11977
db2a291e25e9
tests: unify test-merge4
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
2283
diff
changeset
|
13 created new head |
db2a291e25e9
tests: unify test-merge4
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
2283
diff
changeset
|
14 $ hg merge 1 |
db2a291e25e9
tests: unify test-merge4
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
2283
diff
changeset
|
15 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
db2a291e25e9
tests: unify test-merge4
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
2283
diff
changeset
|
16 (branch merge, don't forget to commit) |
db2a291e25e9
tests: unify test-merge4
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
2283
diff
changeset
|
17 $ rm b |
db2a291e25e9
tests: unify test-merge4
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
2283
diff
changeset
|
18 $ echo This is file c22 > c |
16536
63c817ea4a70
commit: abort on merge with missing files
Patrick Mezard <patrick@mezard.eu>
parents:
12156
diff
changeset
|
19 |
63c817ea4a70
commit: abort on merge with missing files
Patrick Mezard <patrick@mezard.eu>
parents:
12156
diff
changeset
|
20 Test hg behaves when committing with a missing file added by a merge |
63c817ea4a70
commit: abort on merge with missing files
Patrick Mezard <patrick@mezard.eu>
parents:
12156
diff
changeset
|
21 |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11977
diff
changeset
|
22 $ hg commit -m "commit #3" |
16536
63c817ea4a70
commit: abort on merge with missing files
Patrick Mezard <patrick@mezard.eu>
parents:
12156
diff
changeset
|
23 abort: cannot commit merge with missing files |
63c817ea4a70
commit: abort on merge with missing files
Patrick Mezard <patrick@mezard.eu>
parents:
12156
diff
changeset
|
24 [255] |
416
5e9e8b8d2629
[PATCH] Removal of a file added by merging branches
mpm@selenic.com
parents:
diff
changeset
|
25 |
44343
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
26 |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
27 Test conflict*() revsets |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
28 |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
29 # Bad usage |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
30 $ hg log -r 'conflictlocal(foo)' |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
31 hg: parse error: conflictlocal takes no arguments |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
32 [255] |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
33 $ hg log -r 'conflictother(foo)' |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
34 hg: parse error: conflictother takes no arguments |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
35 [255] |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
36 $ hg co -C . |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
37 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
38 # No merge parents when not merging |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
39 $ hg log -r 'conflictlocal() + conflictother()' |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
40 # No merge parents when there is no conflict |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
41 $ hg merge 1 |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
42 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
43 (branch merge, don't forget to commit) |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
44 $ hg log -r 'conflictlocal() + conflictother()' |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
45 $ hg co -C . |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
46 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
47 $ echo conflict > b |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
48 $ hg ci -Aqm 'conflicting change to b' |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
49 $ hg merge 1 |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
50 merging b |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
51 warning: conflicts while merging b! (edit, then use 'hg resolve --mark') |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
52 0 files updated, 0 files merged, 0 files removed, 1 files unresolved |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
53 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
54 [1] |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
55 # Shows merge parents when there is a conflict |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
56 $ hg log -r 'conflictlocal()' -T '{rev} {desc}\n' |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
57 3 conflicting change to b |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
58 $ hg log -r 'conflictother()' -T '{rev} {desc}\n' |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
16536
diff
changeset
|
59 1 commit #1 |