comparison tests/test-resolve.t @ 23022:ace380a0619b

test-resolve: add more tests for in conflict-free states We already have a test for 'hg resolve -m' when there is no merge in progress. Add one for 'hg resolve --all' as well. Also add tests for both --all and -m when there is a merge without conflicts in progress. They should both be successful, just as if there had been conflicts that had been marked resolved. However, that is currently broken, so mark the tests broken for now. The behavior will be fixed in a later patch.
author Martin von Zweigbergk <martinvonz@gmail.com>
date Wed, 08 Oct 2014 22:19:08 -0700
parents 41770cee3c6a
children 63c9088bebad
comparison
equal deleted inserted replaced
23021:41770cee3c6a 23022:ace380a0619b
11 11
12 $ echo bar >> file1 12 $ echo bar >> file1
13 $ echo bar >> file2 13 $ echo bar >> file2
14 $ hg commit -Am 'append bar to files' 14 $ hg commit -Am 'append bar to files'
15 15
16 create a second head 16 create a second head with conflicting edits
17 17
18 $ hg up -C 0 18 $ hg up -C 0
19 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 19 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
20 $ echo baz >> file1 20 $ echo baz >> file1
21 $ echo baz >> file2 21 $ echo baz >> file2
22 $ hg commit -Am 'append baz to files' 22 $ hg commit -Am 'append baz to files'
23 created new head 23 created new head
24 24
25 create a third head with no conflicting edits
26 $ hg up -qC 0
27 $ echo foo > file3
28 $ hg commit -Am 'add non-conflicting file'
29 adding file3
30 created new head
31
25 failing merge 32 failing merge
26 33
27 $ hg merge --tool=internal:fail 34 $ hg up -qC 2
35 $ hg merge --tool=internal:fail 1
28 0 files updated, 0 files merged, 0 files removed, 2 files unresolved 36 0 files updated, 0 files merged, 0 files removed, 2 files unresolved
29 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon 37 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
30 [1] 38 [1]
31 39
32 resolve -l should contain unresolved entries 40 resolve -l should contain unresolved entries
59 67
60 resolve -l should be empty after commit 68 resolve -l should be empty after commit
61 69
62 $ hg resolve -l 70 $ hg resolve -l
63 71
72 resolve --all should abort when no merge in progress
73
74 $ hg resolve --all
75 abort: resolve command not applicable when not merging
76 [255]
77
64 resolve -m should abort when no merge in progress 78 resolve -m should abort when no merge in progress
79
80 $ hg resolve -m
81 abort: resolve command not applicable when not merging
82 [255]
83
84 set up conflict-free merge
85
86 $ hg up -qC 3
87 $ hg merge 1
88 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
89 (branch merge, don't forget to commit)
90
91 BROKEN: resolve --all should do nothing in merge without conflicts
92 $ hg resolve --all
93 abort: resolve command not applicable when not merging
94 [255]
95
96 BROKEN: resolve -m should do nothing in merge without conflicts
65 97
66 $ hg resolve -m 98 $ hg resolve -m
67 abort: resolve command not applicable when not merging 99 abort: resolve command not applicable when not merging
68 [255] 100 [255]
69 101
70 test crashed merge with empty mergestate 102 test crashed merge with empty mergestate
71 103
104 $ hg up -qC 1
72 $ mkdir .hg/merge 105 $ mkdir .hg/merge
73 $ touch .hg/merge/state 106 $ touch .hg/merge/state
74 107
75 resolve -l should be empty 108 resolve -l should be empty
76 109