test-resolve.t
149 lines
| 3.4 KiB
| text/troff
|
Tads3Lexer
/ tests / test-resolve.t
Nicolas Dumazet
|
r12117 | test that a commit clears the merge state. | ||
$ hg init repo | ||||
$ cd repo | ||||
Martin von Zweigbergk
|
r23021 | $ echo foo > file1 | ||
$ echo foo > file2 | ||||
$ hg commit -Am 'add files' | ||||
adding file1 | ||||
adding file2 | ||||
Nicolas Dumazet
|
r12117 | |||
Martin von Zweigbergk
|
r23021 | $ echo bar >> file1 | ||
$ echo bar >> file2 | ||||
$ hg commit -Am 'append bar to files' | ||||
Nicolas Dumazet
|
r12117 | |||
Martin von Zweigbergk
|
r23022 | create a second head with conflicting edits | ||
Nicolas Dumazet
|
r12117 | |||
$ hg up -C 0 | ||||
Martin von Zweigbergk
|
r23021 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
$ echo baz >> file1 | ||||
$ echo baz >> file2 | ||||
$ hg commit -Am 'append baz to files' | ||||
Nicolas Dumazet
|
r12117 | created new head | ||
Martin von Zweigbergk
|
r23022 | create a third head with no conflicting edits | ||
$ hg up -qC 0 | ||||
$ echo foo > file3 | ||||
$ hg commit -Am 'add non-conflicting file' | ||||
adding file3 | ||||
created new head | ||||
Nicolas Dumazet
|
r12117 | failing merge | ||
Martin von Zweigbergk
|
r23022 | $ hg up -qC 2 | ||
$ hg merge --tool=internal:fail 1 | ||||
Martin von Zweigbergk
|
r23021 | 0 files updated, 0 files merged, 0 files removed, 2 files unresolved | ||
Brodie Rao
|
r12314 | use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon | ||
Matt Mackall
|
r12316 | [1] | ||
Nicolas Dumazet
|
r12117 | |||
Martin von Zweigbergk
|
r23021 | resolve -l should contain unresolved entries | ||
Gregory Szorc
|
r21263 | |||
$ hg resolve -l | ||||
Martin von Zweigbergk
|
r23021 | U file1 | ||
U file2 | ||||
Gregory Szorc
|
r21263 | |||
Martin von Zweigbergk
|
r23020 | resolving an unknown path should emit a warning | ||
Gregory Szorc
|
r21265 | $ hg resolve -m does-not-exist | ||
Matt Mackall
|
r21721 | arguments do not match paths that need resolving | ||
Gregory Szorc
|
r21265 | |||
Gregory Szorc
|
r21263 | resolve the failure | ||
Martin von Zweigbergk
|
r23021 | $ echo resolved > file1 | ||
$ hg resolve -m file1 | ||||
resolve -l should show resolved file as resolved | ||||
$ hg resolve -l | ||||
R file1 | ||||
U file2 | ||||
resolve -m without paths should mark all resolved | ||||
$ hg resolve -m | ||||
Pierre-Yves David
|
r21947 | (no more unresolved files) | ||
Nicolas Dumazet
|
r12117 | $ hg commit -m 'resolved' | ||
Martin von Zweigbergk
|
r23020 | resolve -l should be empty after commit | ||
Nicolas Dumazet
|
r12117 | |||
$ hg resolve -l | ||||
Siddharth Agarwal
|
r21541 | |||
Martin von Zweigbergk
|
r23022 | resolve --all should abort when no merge in progress | ||
$ hg resolve --all | ||||
abort: resolve command not applicable when not merging | ||||
[255] | ||||
Martin von Zweigbergk
|
r23020 | resolve -m should abort when no merge in progress | ||
Siddharth Agarwal
|
r21541 | $ hg resolve -m | ||
Gregory Szorc
|
r21264 | abort: resolve command not applicable when not merging | ||
[255] | ||||
Nicolas Dumazet
|
r12117 | |||
Martin von Zweigbergk
|
r23022 | set up conflict-free merge | ||
$ hg up -qC 3 | ||||
$ hg merge 1 | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
Martin von Zweigbergk
|
r23024 | resolve --all should do nothing in merge without conflicts | ||
Martin von Zweigbergk
|
r23022 | $ hg resolve --all | ||
Martin von Zweigbergk
|
r23024 | (no more unresolved files) | ||
Martin von Zweigbergk
|
r23022 | |||
Martin von Zweigbergk
|
r23024 | resolve -m should do nothing in merge without conflicts | ||
Martin von Zweigbergk
|
r23022 | |||
$ hg resolve -m | ||||
Martin von Zweigbergk
|
r23024 | (no more unresolved files) | ||
Martin von Zweigbergk
|
r23022 | |||
Martin von Zweigbergk
|
r23023 | get back to conflicting state | ||
$ hg up -qC 2 | ||||
$ hg merge --tool=internal:fail 1 | ||||
0 files updated, 0 files merged, 0 files removed, 2 files unresolved | ||||
use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon | ||||
[1] | ||||
resolve without arguments should suggest --all | ||||
$ hg resolve | ||||
abort: no files or directories specified | ||||
(use --all to remerge all files) | ||||
[255] | ||||
resolve --all should re-merge all unresolved files | ||||
$ hg resolve -q --all | ||||
warning: conflicts during merge. | ||||
merging file1 incomplete! (edit conflicts, then use 'hg resolve --mark') | ||||
warning: conflicts during merge. | ||||
merging file2 incomplete! (edit conflicts, then use 'hg resolve --mark') | ||||
[1] | ||||
Augie Fackler
|
r23025 | $ grep '<<<' file1 > /dev/null | ||
$ grep '<<<' file2 > /dev/null | ||||
Martin von Zweigbergk
|
r23023 | |||
resolve <file> should re-merge file | ||||
$ echo resolved > file1 | ||||
$ hg resolve -q file1 | ||||
warning: conflicts during merge. | ||||
merging file1 incomplete! (edit conflicts, then use 'hg resolve --mark') | ||||
[1] | ||||
Augie Fackler
|
r23025 | $ grep '<<<' file1 > /dev/null | ||
Martin von Zweigbergk
|
r23023 | |||
resolve <file> should do nothing if 'file' was marked resolved | ||||
$ echo resolved > file1 | ||||
$ hg resolve -m file1 | ||||
$ hg resolve -q file1 | ||||
$ cat file1 | ||||
resolved | ||||
Nicolas Dumazet
|
r12117 | test crashed merge with empty mergestate | ||
Martin von Zweigbergk
|
r23022 | $ hg up -qC 1 | ||
Nicolas Dumazet
|
r12117 | $ mkdir .hg/merge | ||
$ touch .hg/merge/state | ||||
Martin von Zweigbergk
|
r23020 | resolve -l should be empty | ||
Nicolas Dumazet
|
r12117 | |||
$ hg resolve -l | ||||
Mads Kiilerich
|
r16913 | |||
$ cd .. | ||||