Mercurial > hg
annotate tests/test-resolve.t @ 26750:9f9ec4abe700
cmdutil: make in-memory changes visible to external editor (issue4378)
Before this patch, external editor process for the commit log can't
view some in-memory changes (especially, of dirstate), because they
aren't written out until the end of transaction (or wlock).
This causes unexpected output of Mercurial commands spawned from that
editor process.
To make in-memory changes visible to external editor process, this
patch does:
- write (or schedule to write) in-memory dirstate changes, and
- set HG_PENDING environment variable, if:
- a transaction is running, and
- there are in-memory changes to be visible
"hg diff" spawned from external editor process for "hg qrefresh"
shows:
- "changes newly imported into the topmost" before 49148d7868df(*)
- "all changes recorded in the topmost by refreshing" after this patch
(*) 49148d7868df changed steps invoking editor process
Even though backward compatibility may be broken, the latter behavior
looks reasonable, because "hg diff" spawned from the editor process
consistently shows "what changes new revision records" regardless of
invocation context.
In fact, issue4378 itself should be resolved by 800e090e9c64, which
made 'repo.transaction()' write in-memory dirstate changes out
explicitly before starting transaction. It also made "hg qrefresh"
imply 'dirstate.write()' before external editor invocation in call
chain below.
- mq.queue.refresh
- strip.strip
- repair.strip
- localrepository.transaction
- dirstate.write
- localrepository.commit
- invoke external editor
Though, this patch has '(issue4378)' in own summary line to indicate
that issues like issue4378 should be fixed by this.
BTW, this patch adds '-m' option to a 'hg ci --amend' execution in
'test-commit-amend.t', to avoid invoking external editor process.
In this case, "unsure" states may be changed to "clean" according to
timestamp or so on. These changes should be written into pending file,
if external editor invocation is required,
Then, writing dirstate changes out breaks stability of test, because
it shows "transaction abort!/rollback completed" occasionally.
Aborting after editor process invocation while commands below may
cause similar instability of tests, too (AFAIK, there is no more such
one, at this revision)
- commit --amend
- without --message/--logfile
- import
- without --message/--logfile,
- without --no-commit,
- without --bypass,
- one of below, and
- patch has no description text, or
- with --edit
- aborting at the 1st patch, which adds or removes file(s)
- if it only changes existing files, status is checked only for
changed files by 'scmutil.matchfiles()', and transition from
"unsure" to "normal" in dirstate doesn't occur (= dirstate
isn't changed, and written out)
- aborting at the 2nd or later patch implies other pending
changes (e.g. changelog), and always causes showing
"transaction abort!/rollback completed"
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Sat, 17 Oct 2015 01:15:34 +0900 |
parents | 36383507a6f8 |
children | c0aab5961876 |
rev | line source |
---|---|
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
1 test that a commit clears the merge state. |
7734 | 2 |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
3 $ hg init repo |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
4 $ cd repo |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
5 |
23021
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
6 $ echo foo > file1 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
7 $ echo foo > file2 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
8 $ hg commit -Am 'add files' |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
9 adding file1 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
10 adding file2 |
7734 | 11 |
23021
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
12 $ echo bar >> file1 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
13 $ echo bar >> file2 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
14 $ hg commit -Am 'append bar to files' |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
15 |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
16 create a second head with conflicting edits |
7734 | 17 |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
18 $ hg up -C 0 |
23021
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
19 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
20 $ echo baz >> file1 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
21 $ echo baz >> file2 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
22 $ hg commit -Am 'append baz to files' |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
23 created new head |
7734 | 24 |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
25 create a third head with no conflicting edits |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
26 $ hg up -qC 0 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
27 $ echo foo > file3 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
28 $ hg commit -Am 'add non-conflicting file' |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
29 adding file3 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
30 created new head |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
31 |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
32 failing merge |
7734 | 33 |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
34 $ hg up -qC 2 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
35 $ hg merge --tool=internal:fail 1 |
23021
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
36 0 files updated, 0 files merged, 0 files removed, 2 files unresolved |
12314
f2daa6ab514a
merge: suggest 'hg up -C .' for discarding changes, not 'hg up -C'
Brodie Rao <brodie@bitheap.org>
parents:
12117
diff
changeset
|
37 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
|
38 [1] |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
39 |
23021
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
40 resolve -l should contain unresolved entries |
21263
f3e37409ecd3
resolve: split test
Gregory Szorc <gregory.szorc@gmail.com>
parents:
16913
diff
changeset
|
41 |
f3e37409ecd3
resolve: split test
Gregory Szorc <gregory.szorc@gmail.com>
parents:
16913
diff
changeset
|
42 $ hg resolve -l |
23021
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
43 U file1 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
44 U file2 |
21263
f3e37409ecd3
resolve: split test
Gregory Szorc <gregory.szorc@gmail.com>
parents:
16913
diff
changeset
|
45 |
24127
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
46 $ hg resolve -l --no-status |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
47 file1 |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
48 file2 |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
49 |
24125
18af6ebd4001
resolve: silence warning of unknown pats for -l/--list (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
23025
diff
changeset
|
50 resolving an unknown path should emit a warning, but not for -l |
23020
dfad19274d85
test-resolve: clarify test descriptions and consistently use "should"
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
21947
diff
changeset
|
51 |
21265
232de244ab6f
resolve: print warning when no work performed (issue4208)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21264
diff
changeset
|
52 $ hg resolve -m does-not-exist |
21721
6539c4e9c874
resolve: fix grammar of no matching files message
Matt Mackall <mpm@selenic.com>
parents:
21541
diff
changeset
|
53 arguments do not match paths that need resolving |
24125
18af6ebd4001
resolve: silence warning of unknown pats for -l/--list (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
23025
diff
changeset
|
54 $ hg resolve -l does-not-exist |
21265
232de244ab6f
resolve: print warning when no work performed (issue4208)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21264
diff
changeset
|
55 |
21263
f3e37409ecd3
resolve: split test
Gregory Szorc <gregory.szorc@gmail.com>
parents:
16913
diff
changeset
|
56 resolve the failure |
f3e37409ecd3
resolve: split test
Gregory Szorc <gregory.szorc@gmail.com>
parents:
16913
diff
changeset
|
57 |
23021
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
58 $ echo resolved > file1 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
59 $ hg resolve -m file1 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
60 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
61 resolve -l should show resolved file as resolved |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
62 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
63 $ hg resolve -l |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
64 R file1 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
65 U file2 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
66 |
24127
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
67 $ hg resolve -l -Tjson |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
68 [ |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
69 { |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
70 "path": "file1", |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
71 "status": "R" |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
72 }, |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
73 { |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
74 "path": "file2", |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
75 "status": "U" |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
76 } |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
77 ] |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
78 |
23021
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
79 resolve -m without paths should mark all resolved |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
80 |
41770cee3c6a
test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23020
diff
changeset
|
81 $ hg resolve -m |
21947
b081decd9062
resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21721
diff
changeset
|
82 (no more unresolved files) |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
83 $ hg commit -m 'resolved' |
7734 | 84 |
23020
dfad19274d85
test-resolve: clarify test descriptions and consistently use "should"
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
21947
diff
changeset
|
85 resolve -l should be empty after commit |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
86 |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
87 $ hg resolve -l |
21541
6062593d8b06
resolve: don't abort resolve -l even when no merge is in progress
Siddharth Agarwal <sid0@fb.com>
parents:
21267
diff
changeset
|
88 |
24127
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
89 $ hg resolve -l -Tjson |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
90 [ |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
91 ] |
4cb8002658d6
resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents:
24125
diff
changeset
|
92 |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
93 resolve --all should abort when no merge in progress |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
94 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
95 $ hg resolve --all |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
96 abort: resolve command not applicable when not merging |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
97 [255] |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
98 |
23020
dfad19274d85
test-resolve: clarify test descriptions and consistently use "should"
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
21947
diff
changeset
|
99 resolve -m should abort when no merge in progress |
dfad19274d85
test-resolve: clarify test descriptions and consistently use "should"
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
21947
diff
changeset
|
100 |
21541
6062593d8b06
resolve: don't abort resolve -l even when no merge is in progress
Siddharth Agarwal <sid0@fb.com>
parents:
21267
diff
changeset
|
101 $ hg resolve -m |
21264
4e932dc5c113
resolve: abort when not applicable (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21263
diff
changeset
|
102 abort: resolve command not applicable when not merging |
4e932dc5c113
resolve: abort when not applicable (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21263
diff
changeset
|
103 [255] |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
104 |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
105 set up conflict-free merge |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
106 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
107 $ hg up -qC 3 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
108 $ hg merge 1 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
109 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
110 (branch merge, don't forget to commit) |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
111 |
23024
ec36969497de
resolve: run happily after conflict-free merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23023
diff
changeset
|
112 resolve --all should do nothing in merge without conflicts |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
113 $ hg resolve --all |
23024
ec36969497de
resolve: run happily after conflict-free merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23023
diff
changeset
|
114 (no more unresolved files) |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
115 |
23024
ec36969497de
resolve: run happily after conflict-free merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23023
diff
changeset
|
116 resolve -m should do nothing in merge without conflicts |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
117 |
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
118 $ hg resolve -m |
23024
ec36969497de
resolve: run happily after conflict-free merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23023
diff
changeset
|
119 (no more unresolved files) |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
120 |
23023
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
121 get back to conflicting state |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
122 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
123 $ hg up -qC 2 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
124 $ hg merge --tool=internal:fail 1 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
125 0 files updated, 0 files merged, 0 files removed, 2 files unresolved |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
126 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
127 [1] |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
128 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
129 resolve without arguments should suggest --all |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
130 $ hg resolve |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
131 abort: no files or directories specified |
26352
e635bc9bb7d9
resolve: consistently describe re-merge + unresolved
timeless@mozdev.org
parents:
24127
diff
changeset
|
132 (use --all to re-merge all unresolved files) |
23023
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
133 [255] |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
134 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
135 resolve --all should re-merge all unresolved files |
26619
3b213a904b98
test-resolve.t: add some output to show order of operations
Siddharth Agarwal <sid0@fb.com>
parents:
26614
diff
changeset
|
136 $ hg resolve --all |
3b213a904b98
test-resolve.t: add some output to show order of operations
Siddharth Agarwal <sid0@fb.com>
parents:
26614
diff
changeset
|
137 merging file1 |
26621
36383507a6f8
resolve: perform all premerges before performing any file merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
26620
diff
changeset
|
138 merging file2 |
26614
ef1eb6df7071
simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents:
26352
diff
changeset
|
139 warning: conflicts while merging file1! (edit, then use 'hg resolve --mark') |
ef1eb6df7071
simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents:
26352
diff
changeset
|
140 warning: conflicts while merging file2! (edit, then use 'hg resolve --mark') |
23023
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
141 [1] |
26620
7955127efbcb
test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents:
26619
diff
changeset
|
142 $ cat file1.orig |
7955127efbcb
test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents:
26619
diff
changeset
|
143 foo |
7955127efbcb
test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents:
26619
diff
changeset
|
144 baz |
7955127efbcb
test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents:
26619
diff
changeset
|
145 $ cat file2.orig |
7955127efbcb
test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents:
26619
diff
changeset
|
146 foo |
7955127efbcb
test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents:
26619
diff
changeset
|
147 baz |
23025
b8dd8432395d
test-resolve.t: use redirection to /dev/null instead of grep -q
Augie Fackler <raf@durin42.com>
parents:
23024
diff
changeset
|
148 $ grep '<<<' file1 > /dev/null |
b8dd8432395d
test-resolve.t: use redirection to /dev/null instead of grep -q
Augie Fackler <raf@durin42.com>
parents:
23024
diff
changeset
|
149 $ grep '<<<' file2 > /dev/null |
23023
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
150 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
151 resolve <file> should re-merge file |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
152 $ echo resolved > file1 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
153 $ hg resolve -q file1 |
26614
ef1eb6df7071
simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents:
26352
diff
changeset
|
154 warning: conflicts while merging file1! (edit, then use 'hg resolve --mark') |
23023
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
155 [1] |
23025
b8dd8432395d
test-resolve.t: use redirection to /dev/null instead of grep -q
Augie Fackler <raf@durin42.com>
parents:
23024
diff
changeset
|
156 $ grep '<<<' file1 > /dev/null |
23023
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
157 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
158 resolve <file> should do nothing if 'file' was marked resolved |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
159 $ echo resolved > file1 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
160 $ hg resolve -m file1 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
161 $ hg resolve -q file1 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
162 $ cat file1 |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
163 resolved |
63c9088bebad
test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23022
diff
changeset
|
164 |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
165 test crashed merge with empty mergestate |
7734 | 166 |
23022
ace380a0619b
test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
23021
diff
changeset
|
167 $ hg up -qC 1 |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
168 $ mkdir .hg/merge |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
169 $ touch .hg/merge/state |
11451
51021f4c80b5
resolve: do not crash on empty mergestate
Martin Geisler <mg@lazybytes.net>
parents:
8167
diff
changeset
|
170 |
23020
dfad19274d85
test-resolve: clarify test descriptions and consistently use "should"
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
21947
diff
changeset
|
171 resolve -l should be empty |
12117
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
172 |
a40372c1c731
tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11451
diff
changeset
|
173 $ hg resolve -l |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12788
diff
changeset
|
174 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12788
diff
changeset
|
175 $ cd .. |