I'm in the middle of updating the visual diff configurations that will
ship with TortoiseHg 0.10 and would like some feedback on which visual
diff tools are being used, and the configurations you use for them
(both extdiff and merge-tools configurations). The goal is for
TortoiseHg to detect visual diff tools in release 0.10, much as it
detects merge tools today, and for THG to come preconfigured to use
those visual diff tools in the best way possible.
To give you an idea of how this works, here is the new configuration
for BeyondCompare:
[merge-tools]
beyondcompare3.priority=-1
beyondcompare3.args=$local $other $base $output /ro /lefttitle=parent1
/centertitle=base /righttitle=parent2 /automerge /reviewconflicts
/solo
beyondcompare3.regkey=Software\Scooter Software\Beyond Compare 3
beyondcompare3.regname=ExePath
beyondcompare3.gui=True
beyondcompare3.diffargs=/lro /lefttitle=old /righttitle=new /solo
/expandall $parent $child
beyondcompare3.diff3args=$parent1 $parent2 $child /lefttitle=parent1
/centertitle=merged /righttitle=parent2 /solo /expandall
beyondcompare3.dirdiff=True
Everything up to 'gui' was already there for use as a merge tool by
Mercurial. TortoiseHG is adding three keys:
diffargs - arguments to use for 2-way diffs, variables $parent and
$child are expanded at runtime
diff3args - arguments to use for 3-way file comparisons, variables
$parent1 $parent2 $child expanded at runtime
dirdiff - boolean that determines whether the 2-way diff arguments can
be directories or files.
I may add a dir3diff configurable if there is demand for it. I will
probably also add an $ancestor argument for diff3args since some
visual diff tools can use it to visualize a three way merge instead of
a simpler three way diff.
Again, I'm hoping people respond to this with their extdiff
configurations and with any changes they've made to the default
merge-tools configuration that ships with Mercurial.
Cheers.
--
Steve Borho
_______________________________________________
Mercurial mailing list
Merc...@selenic.com
http://selenic.com/mailman/listinfo/mercurial
[extdiff]
cmd.winmerge = C:\Program Files\WinMerge\WinMergeU.exe
opts.winmerge = /e /x /ub /wl
[tortoisehg]
vdiff = winmerge
vdiffnowin = True
postpull = update
[ui]
username = <deleted>
merge = winmergeu
On Fri, Jan 1, 2010 at 12:23 PM, Steve Borho <st...@borho.org> wrote:
> Hey folks,
>
> I'm in the middle of updating the visual diff configurations that will
> ship with TortoiseHg 0.10 and would like some feedback on which visual
> diff tools are being used, and the configurations you use for them
> (both extdiff and merge-tools configurations). The goal is for
> TortoiseHg to detect visual diff tools in release 0.10, much as it
> detects merge tools today, and for THG to come preconfigured to use
> those visual diff tools in the best way possible.
>
> To give you an idea of how this works, here is the new configuration
> for BeyondCompare:
>
> [merge-tools]
> beyondcompare3.priority=-1
> beyondcompare3.args=$local $other $base $output /ro /lefttitle=parent1
> /centertitle=base /righttitle=parent2 /automerge /reviewconflicts
> /solo
.....
On Ubuntu:
[extdiff]
cmd.cxdiff = diff
opts.cxdiff = -Nprc5
cmd.meld =
cmd.cdiff = colordiff
opts.cdiff = -uprN
cmd.cwdiff = diff
opts.cwdiff = -wBNprc -C 5
cmd.kdiff = kdiff3
opts.kdiff =
cmd.xxdiff = xxdiff
opts.xxdiff =
cmd.sub = submerge
opts.sub = diff
I use hgtk. And I almost never using anything except meld from the above.
-parren
Yes, this is a good point.
The current extdiff code sets the non-existant filename to os.devnull,
which on Linux is '/dev/null' and on Windows is simply 'nul'. Many
diff tools do not handle 'nul' correctly.
Since the new visual diff code is now giving labels for the files, we
could create an empty file for comparison and give it a label like
"[non-existant]@rev". That would work for adds and deletes.
--
Steve Borho
Hey folks,
I'm in the middle of updating the visual diff configurations that will
ship with TortoiseHg 0.10 and would like some feedback on which visual
diff tools are being used, and the configurations you use for them
(both extdiff and merge-tools configurations). The goal is for
TortoiseHg to detect visual diff tools in release 0.10, much as it
detects merge tools today, and for THG to come preconfigured to use
those visual diff tools in the best way possible.