Mercurial > hg
view mercurial/defaultrc/mergetools.rc @ 48546:e91aa800ae5b
rhg: desambiguate status without decompressing filelog if possible
When status is unsure based on `stat()` and the dirstate if a file is clean
or modified, we need to compare it against the filelog.
This comparison can skip looking at contents if the lengths differ.
This changeset optimize this further to deduce what we can about the length
if the filelog without decompressing it or resolving deltas.
Differential Revision: https://phab.mercurial-scm.org/D11965
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Fri, 07 Jan 2022 14:40:21 +0100 |
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