Mercurial > hg
view mercurial/defaultrc/mergetools.rc @ 46335:25be21ec6c65
share: rework config options to be much clearer and easier
Recently I implemented various boolean configs which control how to behave when
there is a share-safe mismatch between source and share repository. Mismatch
means that source supports share-safe where as share does not or vice versa.
However, while discussion and documentation we realized that it's too
complicated and there are some combinations of values which makes no sense.
We decided to introduce a config option with 4 possible values which
makes controlling and understanding things easier.
The config option `share.safe-mismatch.source-{not-}safe` can have
following 4 values:
* abort (default): error out if there is mismatch
* allow: allow to work with respecting share source configuration
* {up|down}grade-abort: try to {up|down}grade, if it fails, abort
* {up|down}grade-allow: try to {up|down}grade, if it fails, continue in allow
mode
I am not sure if I can explain 3 config options which I deleted right now in
just 5 lines which is a sign of how complex they became.
No test changes demonstrate that functionality is same, only names have changed.
Differential Revision: https://phab.mercurial-scm.org/D9785
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Mon, 18 Jan 2021 21:37:20 +0530 |
parents | dbc462e34e92 |
children | a6efc1f1a73b |
line wrap: on
line source
# Some default global settings for common merge tools [merge-tools] ; The Araxis Merge tool is configured to work with newer versions of Araxis Merge ; if you are using Araxis Merge 2008 or earlier, create a [merge-tools] section ; in your mercurial.ini file, and add one of the two following "araxis.executable" ; lines, depending on whether you have installed a 32 or a 64 bit version ; of Araxis Merge and whether you are on a 32 or 64 bit version of windows ; ;araxis.executable=${ProgramFiles}/Araxis/Araxis Merge/ConsoleCompare.exe ;araxis.executable=${ProgramFiles(x86)}/Araxis/Araxis Merge/ConsoleCompare.exe ; ; Please remember to remove the leading ";" to uncomment the line ; araxis.args=/3 /a2 /wait /merge /title1:"Other" /title2:"Base" /title3:"Local :"$local $other $base $local $output araxis.binary=True araxis.checkconflicts=True araxis.diffargs=/2 /wait /title1:$plabel1 /title2:$clabel $parent $child araxis.gui=True araxis.priority=-2 araxis.regappend=\ConsoleCompare.exe araxis.regkey=SOFTWARE\Classes\TypeLib\{46799e0a-7bd1-4330-911c-9660bb964ea2}\7.0\HELPDIR ; Linux version of BeyondCompare 3 and 4 (dirdiff is version 4 only) bcompare.args=$local $other $base -mergeoutput=$output -ro -lefttitle=$labellocal -centertitle=$labelbase -righttitle=$labelother -outputtitle=merged -automerge -reviewconflicts -solo bcompare.diffargs=-lro -lefttitle=$plabel1 -righttitle=$clabel -solo -expandall $parent $child bcompare.gui=True bcompare.priority=-1 ; OS X version of Beyond Compare bcomposx.args=$local $other $base -mergeoutput=$output -ro -lefttitle=$labellocal -centertitle=$labelbase -righttitle=$labelother -outputtitle=merged -automerge -reviewconflicts -solo bcomposx.diffargs=-lro -lefttitle=$plabel1 -righttitle=$clabel -solo -expandall $parent $child bcomposx.executable = /Applications/Beyond Compare.app/Contents/MacOS/bcomp bcomposx.gui=True bcomposx.priority=-1 ; Windows version of BeyondCompare 3 beyondcompare3.args=$local $other $base $output /ro /lefttitle=$labellocal /centertitle=$labelbase /righttitle=$labelother /automerge /reviewconflicts /solo beyondcompare3.diffargs=/lro /lefttitle=$plabel1 /righttitle=$clabel /solo /expandall $parent $child beyondcompare3.gui=True beyondcompare3.priority=-2 beyondcompare3.regkey=Software\Scooter Software\Beyond Compare 3 beyondcompare3.regkeyalt=Software\Wow6432Node\Scooter Software\Beyond Compare 3 beyondcompare3.regname=ExePath ; Windows version of BeyondCompare 4 beyondcompare4.args=$local $other $base /mergeoutput=$output /ro /lefttitle=$labellocal /centertitle=$labelbase /righttitle=$labelother /outputtitle=merged /automerge /reviewconflicts /solo beyondcompare4.diffargs=/lro /lefttitle=$plabel1 /righttitle=$clabel /solo /expandall $parent $child beyondcompare4.gui=True beyondcompare4.premerge=False beyondcompare4.priority=-1 beyondcompare4.regkey=Software\Scooter Software\Beyond Compare 4 beyondcompare4.regkeyalt=Software\Wow6432Node\Scooter Software\Beyond Compare 4 beyondcompare4.regname=ExePath diffmerge.args=-nosplash -merge -title1=$labellocal -title2=merged -title3=$labelother $local $base $other -result=$output diffmerge.check=changed diffmerge.diffargs=--nosplash --title1=$plabel1 --title2=$clabel $parent $child diffmerge.gui=True diffmerge.priority=-7 diffmerge.regkey=Software\SourceGear\SourceGear DiffMerge\ diffmerge.regkeyalt=Software\Wow6432Node\SourceGear\SourceGear DiffMerge\ diffmerge.regname=Location diffuse.args=$local $base $other diffuse.diffargs=$parent $child diffuse.gui=True diffuse.priority=-3 ecmerge.args=$base $local $other --mode=merge3 --title0=$labelbase --title1=$labellocal --title2=$labelother --to=$output ecmerge.diffargs=$parent $child --mode=diff2 --title1=$plabel1 --title2=$clabel ecmerge.gui=True ecmerge.regkey=Software\Elli\xc3\xa9 Computing\Merge ecmerge.regkeyalt=Software\Wow6432Node\Elli\xc3\xa9 Computing\Merge # editmerge is a small script shipped in contrib. # It needs this config otherwise it behaves the same as internal:local editmerge.args=$output editmerge.check=changed editmerge.premerge=keep filemerge.args=-left $other -right $local -ancestor $base -merge $output filemerge.executable=/Developer/Applications/Utilities/FileMerge.app/Contents/MacOS/FileMerge filemerge.gui=True filemergexcode.args=-left $other -right $local -ancestor $base -merge $output filemergexcode.executable=/Applications/Xcode.app/Contents/Applications/FileMerge.app/Contents/MacOS/FileMerge filemergexcode.gui=True gpyfm.gui=True gvimdiff.args=--nofork -d -g -O $local $other $base gvimdiff.diffargs=--nofork -d -g -O $parent $child gvimdiff.priority=-9 gvimdiff.regkey=Software\Vim\GVim gvimdiff.regkeyalt=Software\Wow6432Node\Vim\GVim gvimdiff.regname=path kdiff3.args=--auto --L1 $labelbase --L2 $labellocal --L3 $labelother $base $local $other -o $output kdiff3.diffargs=--L1 $plabel1 --L2 $clabel $parent $child kdiff3.fixeol=True kdiff3.gui=True kdiff3.regappend=\kdiff3.exe kdiff3.regkey=Software\KDiff3 kdiff3.regkeyalt=Software\Wow6432Node\KDiff3 meld.args=--label=$labellocal $local --label='merged' $base --label=$labelother $other -o $output --auto-merge meld.check=changed meld.diffargs=-a --label=$plabel1 $parent --label=$clabel $child meld.gui=True merge.check=conflicts merge.priority=-100 p4merge.args=$base $local $other $output p4merge.diffargs=$parent $child p4merge.gui=True p4merge.priority=-8 p4merge.regappend=\p4merge.exe p4merge.regkey=Software\Perforce\Environment p4merge.regkeyalt=Software\Wow6432Node\Perforce\Environment p4merge.regname=P4INSTROOT p4mergeosx.args = $base $local $other $output p4mergeosx.diffargs=$parent $child p4mergeosx.executable = /Applications/p4merge.app/Contents/MacOS/p4merge p4mergeosx.gui = True p4mergeosx.priority=-8 tkdiff.args=$local $other -a $base -o $output tkdiff.diffargs=-L $plabel1 $parent -L $clabel $child tkdiff.gui=True tkdiff.priority=-8 tortoisemerge.args=/base:$base /mine:$local /theirs:$other /merged:$output tortoisemerge.check=changed tortoisemerge.diffargs=/base:$parent /mine:$child /basename:$plabel1 /minename:$clabel tortoisemerge.gui=True tortoisemerge.priority=-8 tortoisemerge.regkey=Software\TortoiseSVN tortoisemerge.regkeyalt=Software\Wow6432Node\TortoiseSVN UltraCompare.args = $base $local $other -title1 base -title3 other UltraCompare.binary = True UltraCompare.check = conflicts,changed UltraCompare.diffargs=$child $parent -title1 $clabel -title2 $plabel1 UltraCompare.gui = True UltraCompare.priority = -2 UltraCompare.regkey=Software\Microsoft\Windows\CurrentVersion\App Paths\UC.exe UltraCompare.regkeyalt=Software\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths\UC.exe vimdiff.args=$local $other $base -c 'redraw | echomsg "hg merge conflict, type \":cq\" to abort vimdiff"' vimdiff.check=changed vimdiff.priority=-10 winmerge.args=/e /x /wl /ub /dl $labelother /dr $labellocal $other $local $output winmerge.check=changed winmerge.diffargs=/r /e /x /ub /wl /dl $plabel1 /dr $clabel $parent $child winmerge.gui=True winmerge.priority=-10 winmerge.regkey=Software\Thingamahoochie\WinMerge winmerge.regkeyalt=Software\Wow6432Node\Thingamahoochie\WinMerge\ winmerge.regname=Executable xxdiff.args=--show-merged-pane --exit-with-merge-status --title1 $labellocal --title2 $labelbase --title3 $labelother --merged-filename $output --merge $local $base $other xxdiff.diffargs=--title1 $plabel1 $parent --title2 $clabel $child xxdiff.gui=True xxdiff.priority=-8