##// END OF EJS Templates
dispatch: provide help for disabled extensions and commands...
dispatch: provide help for disabled extensions and commands Before a command is declared unknown, each extension in hgext is searched, starting with hgext.<cmdname>. If there's a matching command, a help message suggests the appropriate extension and how to enable it. Every extension could potentially be imported, but for cases like rebase, relink, etc. only one extension is imported. For the case of "hg help disabledext", if the extension is in hgext, the extension description is read and a similar help suggestion is printed. No extension import occurs.

File last commit:

r10282:08a0f04b default
r10364:de1e7099 default
Show More
test-merge-tools.out
528 lines | 10.3 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
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