##// END OF EJS Templates
tests: unify test-config-case
tests: unify test-config-case

File last commit:

r10775:c5205761 stable
r12082:5e2216a3 default
Show More
test-merge-tools.out
547 lines | 10.6 KiB | text/plain | TextLexer
/ tests / test-merge-tools.out
Mads Kiilerich
test-merge-tools...
r7731 # revision 0
adding f
# revision 1
# revision 2
created new head
# revision 3 - simple to merge
created new head
Tool selection
# default is internal merge:
[merge-tools]
# hg update -C 1
# hg merge -r 2
merging f
warning: conflicts during merge.
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
Stuart W Marks
hg: say 'hg update' instead of 'hg up' in merge status message...
r9468 use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
Mads Kiilerich
test-merge-tools...
r7731 # cat f
<<<<<<< local
revision 1
=======
revision 2
>>>>>>> other
space
# hg stat
M f
? f.orig
# simplest hgrc using false for merge:
[merge-tools]
false.whatever=
# hg update -C 1
# hg merge -r 2
merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
Stuart W Marks
hg: say 'hg update' instead of 'hg up' in merge status message...
r9468 use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
Mads Kiilerich
test-merge-tools...
r7731 # cat f
revision 1
space
# hg stat
M f
? f.orig
# true with higher .priority gets precedence:
[merge-tools]
false.whatever=
true.priority=1
# hg update -C 1
# hg merge -r 2
merging f
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
# cat f
revision 1
space
# hg stat
M f
# unless lowered on command line:
[merge-tools]
false.whatever=
true.priority=1
# hg update -C 1
# hg merge -r 2 --config merge-tools.true.priority=-7
merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
Stuart W Marks
hg: say 'hg update' instead of 'hg up' in merge status message...
r9468 use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
Mads Kiilerich
test-merge-tools...
r7731 # cat f
revision 1
space
# hg stat
M f
? f.orig
# or false set higher on command line:
[merge-tools]
false.whatever=
true.priority=1
# hg update -C 1
# hg merge -r 2 --config merge-tools.false.priority=117
merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
Stuart W Marks
hg: say 'hg update' instead of 'hg up' in merge status message...
r9468 use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
Mads Kiilerich
test-merge-tools...
r7731 # cat f
revision 1
space
# hg stat
M f
? f.orig
# or true.executable not found in PATH:
[merge-tools]
false.whatever=
true.priority=1
# hg update -C 1
# hg merge -r 2 --config merge-tools.true.executable=nonexistingmergetool
merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
Stuart W Marks
hg: say 'hg update' instead of 'hg up' in merge status message...
r9468 use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
Mads Kiilerich
test-merge-tools...
r7731 # cat f
revision 1
space
# hg stat
M f
? f.orig
# or true.executable with bogus path:
[merge-tools]
false.whatever=
true.priority=1
# hg update -C 1
Matt Mackall
many, many trivial check-code fixups
r10282 # hg merge -r 2 --config merge-tools.true.executable=/nonexisting/mergetool
Mads Kiilerich
test-merge-tools...
r7731 merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
Stuart W Marks
hg: say 'hg update' instead of 'hg up' in merge status message...
r9468 use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
Mads Kiilerich
test-merge-tools...
r7731 # cat f
revision 1
space
# hg stat
M f
? f.orig
# but true.executable set to cat found in PATH works:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
# hg merge -r 2
revision 1
space
revision 0
space
revision 2
space
merging f
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
# cat f
revision 1
space
# hg stat
M f
# and true.executable set to cat with path works:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
Patrick Mezard
test-merge-tools: windows fixes...
r8539 # hg merge -r 2 --config merge-tools.true.executable=cat
Mads Kiilerich
test-merge-tools...
r7731 revision 1
space
revision 0
space
revision 2
space
merging f
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
# cat f
revision 1
space
# hg stat
M f
Tool selection and merge-patterns
Mads Kiilerich
test-merge-tools: Don't use tac...
r7769 # merge-patterns specifies new tool false:
Mads Kiilerich
test-merge-tools...
r7731 [merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
Mads Kiilerich
test-merge-tools: Don't use tac...
r7769 # hg merge -r 2 --config merge-patterns.f=false
Mads Kiilerich
test-merge-tools...
r7731 merging f
Mads Kiilerich
test-merge-tools: Don't use tac...
r7769 merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
Stuart W Marks
hg: say 'hg update' instead of 'hg up' in merge status message...
r9468 use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
Mads Kiilerich
test-merge-tools...
r7731 # cat f
revision 1
space
# hg stat
M f
Mads Kiilerich
test-merge-tools: Don't use tac...
r7769 ? f.orig
Mads Kiilerich
test-merge-tools...
r7731
# merge-patterns specifies executable not found in PATH and gets warning:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
# hg merge -r 2 --config merge-patterns.f=true --config merge-tools.true.executable=nonexistingmergetool
couldn't find merge tool true specified for f
merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
Stuart W Marks
hg: say 'hg update' instead of 'hg up' in merge status message...
r9468 use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
Mads Kiilerich
test-merge-tools...
r7731 # cat f
revision 1
space
# hg stat
M f
? f.orig
# merge-patterns specifies executable with bogus path and gets warning:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
Matt Mackall
many, many trivial check-code fixups
r10282 # hg merge -r 2 --config merge-patterns.f=true --config merge-tools.true.executable=/nonexisting/mergetool
Mads Kiilerich
Make util.find_exe alway returns existing file, fixing issue1459...
r7732 couldn't find merge tool true specified for f
Mads Kiilerich
test-merge-tools...
r7731 merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
Stuart W Marks
hg: say 'hg update' instead of 'hg up' in merge status message...
r9468 use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
Mads Kiilerich
test-merge-tools...
r7731 # cat f
revision 1
space
# hg stat
M f
? f.orig
Mads Kiilerich
test-merge-tools: test ui.merge functionality and selection of internal tools
r7846 ui.merge overrules priority
# ui.merge specifies false:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
# hg merge -r 2 --config ui.merge=false
merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
Stuart W Marks
hg: say 'hg update' instead of 'hg up' in merge status message...
r9468 use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
Mads Kiilerich
test-merge-tools: test ui.merge functionality and selection of internal tools
r7846 # cat f
revision 1
space
# hg stat
M f
? f.orig
# ui.merge specifies internal:fail:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
# hg merge -r 2 --config ui.merge=internal:fail
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
Stuart W Marks
hg: say 'hg update' instead of 'hg up' in merge status message...
r9468 use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
Mads Kiilerich
test-merge-tools: test ui.merge functionality and selection of internal tools
r7846 # cat f
revision 1
space
# hg stat
M f
# ui.merge specifies internal:local:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
# hg merge -r 2 --config ui.merge=internal:local
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
# cat f
revision 1
space
# hg stat
M f
# ui.merge specifies internal:other:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
# hg merge -r 2 --config ui.merge=internal:other
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
# cat f
revision 2
space
# hg stat
M f
Mads Kiilerich
test merge-tools internal:dump and internal:prompt
r8901 # ui.merge specifies internal:prompt:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
# hg merge -r 2 --config ui.merge=internal:prompt
Mads Kiilerich
ui.prompt: Show prompt and selection in non-interactive mode...
r8940 no tool found to merge f
keep (l)ocal or take (o)ther? l
Mads Kiilerich
test merge-tools internal:dump and internal:prompt
r8901 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
# cat f
revision 1
space
# hg stat
M f
# ui.merge specifies internal:dump:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
# hg merge -r 2 --config ui.merge=internal:dump
merging f
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
Stuart W Marks
hg: say 'hg update' instead of 'hg up' in merge status message...
r9468 use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
Mads Kiilerich
test merge-tools internal:dump and internal:prompt
r8901 # cat f
revision 1
space
# hg stat
M f
? f.base
? f.local
? f.orig
? f.other
f.base:
revision 0
space
f.local:
revision 1
space
f.other:
revision 2
space
Mads Kiilerich
test-merge-tools: test ui.merge functionality and selection of internal tools
r7846 # ui.merge specifies internal:other but is overruled by pattern for false:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
# hg merge -r 2 --config ui.merge=internal:other --config merge-patterns.f=false
merging f
merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
Stuart W Marks
hg: say 'hg update' instead of 'hg up' in merge status message...
r9468 use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
Mads Kiilerich
test-merge-tools: test ui.merge functionality and selection of internal tools
r7846 # cat f
revision 1
space
# hg stat
M f
? f.orig
Mads Kiilerich
test-merge-tools...
r7731 Premerge
# Default is silent simplemerge:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
# hg merge -r 3
merging f
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
# cat f
revision 1
space
revision 3
# hg stat
M f
# .premerge=True is same:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
# hg merge -r 3 --config merge-tools.true.premerge=True
merging f
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
# cat f
revision 1
space
revision 3
# hg stat
M f
# .premerge=False executes merge-tool:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
# hg merge -r 3 --config merge-tools.true.premerge=False
revision 1
space
revision 0
space
revision 0
space
revision 3
merging f
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
# cat f
revision 1
space
# hg stat
M f
Tool execution
# set tools.args explicit to include $base $local $other $output:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
==> ... <==
revision 0
space
==> ... <==
revision 1
space
==> ... <==
revision 2
space
==> ... <==
revision 1
space
merging f
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
# cat f
revision 1
space
# hg stat
M f
# Merge with "echo mergeresult > $local":
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
merging f
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
# cat f
mergeresult
# hg stat
M f
# - and $local is the file f:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
merging f
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
# cat f
mergeresult
# hg stat
M f
# Merge with "echo mergeresult > $output" - the variable is a bit magic:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
merging f
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
# cat f
mergeresult
# hg stat
M f
Mads Kiilerich
Tests with spaces in paths...
r10775 # Merge using tool with a path that must be quoted:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
merging f
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
# cat f
revision 0
space
revision 1
space
revision 2
space
# hg stat
M f
Mads Kiilerich
test-merge-tools...
r7731
Merge post-processing
# cat is a bad merge-tool and doesn't change:
[merge-tools]
false.whatever=
true.priority=1
true.executable=cat
# hg update -C 1
Patrick Mezard
test-merge-tools: windows fixes...
r8539 # hg merge -y -r 2 --config merge-tools.true.checkchanged=1
Mads Kiilerich
test-merge-tools...
r7731 revision 1
space
revision 0
space
revision 2
space
merging f
Mads Kiilerich
ui.prompt: Show prompt and selection in non-interactive mode...
r8940 output file f appears unchanged
was merge successful (yn)? n
Mads Kiilerich
test-merge-tools...
r7731 merging f failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
Stuart W Marks
hg: say 'hg update' instead of 'hg up' in merge status message...
r9468 use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
Mads Kiilerich
test-merge-tools...
r7731 # cat f
revision 1
space
# hg stat
M f
? f.orig