annotate tests/test-commit-unresolved.t @ 33121:a5abaa81fad6 stable

rebase: backed out changeset cf8ad0e6c0e4 (issue5610) Having a single transaction for rebase means the whole transaction gets rolled back on error. To work around this a small hack has been added to detect merge conflict and commit the work done so far before exiting. This hack works because there is nothing transaction related going on during the merge phase. However, if a hook blocks the rebase to create a changeset, it is too late to commit the work done in the transaction before the problematic changeset was created. This leads to the whole rebase so far being rolled back. Losing merge resolution and other work in the process. (note: rebase state will be fully lost too). Since issue5610 is a pretty serious regression and the next stable release is a couple day away, we are taking the backout route until we can figure out something better to do.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Tue, 27 Jun 2017 17:40:24 +0200
parents c15f06109b7a
children 41ef02ba329b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
1 $ addcommit () {
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
2 > echo $1 > $1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
3 > hg add $1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
4 > hg commit -d "${2} 0" -m $1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
5 > }
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
6
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
7 $ commit () {
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
8 > hg commit -d "${2} 0" -m $1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
9 > }
6910
93609576244e Debashify rebase tests
Brendan Cully <brendan@kublai.com>
parents: 6888
diff changeset
10
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
11 $ hg init a
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
12 $ cd a
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
13 $ addcommit "A" 0
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
14 $ addcommit "B" 1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
15 $ echo "C" >> A
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
16 $ commit "C" 2
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
17
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
18 $ hg update -C 0
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
19 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
20 $ echo "D" >> A
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
21 $ commit "D" 3
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
22 created new head
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
23
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
24 Merging a conflict araises
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
25
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
26 $ hg merge
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
27 merging A
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 23917
diff changeset
28 warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
29 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
12314
f2daa6ab514a merge: suggest 'hg up -C .' for discarding changes, not 'hg up -C'
Brodie Rao <brodie@bitheap.org>
parents: 11804
diff changeset
30 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
31 [1]
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
32
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
33 Correct the conflict without marking the file as resolved
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
34
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
35 $ echo "ABCD" > A
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
36 $ hg commit -m "Merged"
29975
c15f06109b7a localrepo: use single quotes in use warning
timeless <timeless@mozdev.org>
parents: 27102
diff changeset
37 abort: unresolved merge conflicts (see 'hg help resolve')
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
38 [255]
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
39
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
40 Mark the conflict as resolved and commit
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
41
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
42 $ hg resolve -m A
21947
b081decd9062 resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21267
diff changeset
43 (no more unresolved files)
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
44 $ hg commit -m "Merged"
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
45
27102
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
46 Test that if a file is removed but not marked resolved, the commit still fails
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
47 (issue4972)
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
48
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
49 $ hg up ".^"
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
50 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
51 $ hg merge 2
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
52 merging A
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
53 warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
54 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
55 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
56 [1]
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
57 $ hg rm --force A
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
58 $ hg commit -m merged
29975
c15f06109b7a localrepo: use single quotes in use warning
timeless <timeless@mozdev.org>
parents: 27102
diff changeset
59 abort: unresolved merge conflicts (see 'hg help resolve')
27102
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
60 [255]
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
61
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
62 $ hg resolve -ma
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
63 (no more unresolved files)
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
64 $ hg commit -m merged
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
65 created new head
f97bb61b51e6 localrepo.commit: check all files for resolve state (issue4972)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
66
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
67 $ cd ..