2010-08-30 09:06:18 +04:00
|
|
|
test that a commit clears the merge state.
|
|
|
|
|
|
|
|
$ hg init repo
|
|
|
|
$ cd repo
|
|
|
|
|
2014-10-09 08:07:30 +04:00
|
|
|
$ echo foo > file1
|
|
|
|
$ echo foo > file2
|
|
|
|
$ hg commit -Am 'add files'
|
|
|
|
adding file1
|
|
|
|
adding file2
|
2010-08-30 09:06:18 +04:00
|
|
|
|
2014-10-09 08:07:30 +04:00
|
|
|
$ echo bar >> file1
|
|
|
|
$ echo bar >> file2
|
|
|
|
$ hg commit -Am 'append bar to files'
|
2010-08-30 09:06:18 +04:00
|
|
|
|
2014-10-09 09:19:08 +04:00
|
|
|
create a second head with conflicting edits
|
2010-08-30 09:06:18 +04:00
|
|
|
|
|
|
|
$ hg up -C 0
|
2014-10-09 08:07:30 +04:00
|
|
|
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'
|
2010-08-30 09:06:18 +04:00
|
|
|
created new head
|
|
|
|
|
2014-10-09 09:19:08 +04:00
|
|
|
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
|
|
|
|
|
2010-08-30 09:06:18 +04:00
|
|
|
failing merge
|
|
|
|
|
2014-10-09 09:19:08 +04:00
|
|
|
$ hg up -qC 2
|
|
|
|
$ hg merge --tool=internal:fail 1
|
2014-10-09 08:07:30 +04:00
|
|
|
0 files updated, 0 files merged, 0 files removed, 2 files unresolved
|
2010-09-13 03:05:53 +04:00
|
|
|
use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
|
2010-09-17 02:51:32 +04:00
|
|
|
[1]
|
2010-08-30 09:06:18 +04:00
|
|
|
|
2014-10-09 08:07:30 +04:00
|
|
|
resolve -l should contain unresolved entries
|
2014-04-19 05:26:42 +04:00
|
|
|
|
|
|
|
$ hg resolve -l
|
2014-10-09 08:07:30 +04:00
|
|
|
U file1
|
|
|
|
U file2
|
2014-04-19 05:26:42 +04:00
|
|
|
|
2014-10-09 08:19:31 +04:00
|
|
|
resolving an unknown path should emit a warning
|
|
|
|
|
2014-04-19 05:56:26 +04:00
|
|
|
$ hg resolve -m does-not-exist
|
2014-06-09 23:11:17 +04:00
|
|
|
arguments do not match paths that need resolving
|
2014-04-19 05:56:26 +04:00
|
|
|
|
2014-04-19 05:26:42 +04:00
|
|
|
resolve the failure
|
|
|
|
|
2014-10-09 08:07:30 +04:00
|
|
|
$ 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
|
2014-07-26 05:32:49 +04:00
|
|
|
(no more unresolved files)
|
2010-08-30 09:06:18 +04:00
|
|
|
$ hg commit -m 'resolved'
|
|
|
|
|
2014-10-09 08:19:31 +04:00
|
|
|
resolve -l should be empty after commit
|
2010-08-30 09:06:18 +04:00
|
|
|
|
|
|
|
$ hg resolve -l
|
2014-05-24 00:10:31 +04:00
|
|
|
|
2014-10-09 09:19:08 +04:00
|
|
|
resolve --all should abort when no merge in progress
|
|
|
|
|
|
|
|
$ hg resolve --all
|
|
|
|
abort: resolve command not applicable when not merging
|
|
|
|
[255]
|
|
|
|
|
2014-10-09 08:19:31 +04:00
|
|
|
resolve -m should abort when no merge in progress
|
|
|
|
|
2014-05-24 00:10:31 +04:00
|
|
|
$ hg resolve -m
|
2014-04-19 06:08:32 +04:00
|
|
|
abort: resolve command not applicable when not merging
|
|
|
|
[255]
|
2010-08-30 09:06:18 +04:00
|
|
|
|
2014-10-09 09:19:08 +04:00
|
|
|
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)
|
|
|
|
|
|
|
|
BROKEN: resolve --all should do nothing in merge without conflicts
|
|
|
|
$ hg resolve --all
|
|
|
|
abort: resolve command not applicable when not merging
|
|
|
|
[255]
|
|
|
|
|
|
|
|
BROKEN: resolve -m should do nothing in merge without conflicts
|
|
|
|
|
|
|
|
$ hg resolve -m
|
|
|
|
abort: resolve command not applicable when not merging
|
|
|
|
[255]
|
|
|
|
|
2010-08-30 09:06:18 +04:00
|
|
|
test crashed merge with empty mergestate
|
|
|
|
|
2014-10-09 09:19:08 +04:00
|
|
|
$ hg up -qC 1
|
2010-08-30 09:06:18 +04:00
|
|
|
$ mkdir .hg/merge
|
|
|
|
$ touch .hg/merge/state
|
|
|
|
|
2014-10-09 08:19:31 +04:00
|
|
|
resolve -l should be empty
|
2010-08-30 09:06:18 +04:00
|
|
|
|
|
|
|
$ hg resolve -l
|
2012-06-11 03:40:51 +04:00
|
|
|
|
|
|
|
$ cd ..
|