Matt Harbison <matt_harbison@yahoo.com> [Sun, 02 Nov 2014 15:27:15 -0500] rev 23151
extdiff: drop the command alias without options example in the help text
In the dropped example, the extension would look for 'vdiff.diffargs' in the
configuration, and not finding it, would run kdiff3 without the configured
options. That's not obvious to a new user who sees a kdiff3 configuration in
the prepackaged mergetools.rc file, and sees that kdiff3 still runs. While it
is conceivable that the user wants a kdiff3 command that runs without the
preconfigured options, it is more likely what they want is this, which uses the
canned options:
[alias]
vdiff = kdiff3
[extdiff]
kdiff3 =
We could mention alias here, but that seems like it belongs elswhere.
Matt Harbison <matt_harbison@yahoo.com> [Fri, 31 Oct 2014 21:34:55 -0400] rev 23150
extdiff: allow a preconfigured merge-tool to be invoked
There are three ways to configure an extdiff tool:
1) cmd.tool = (/path/to/exe optional)
2) tool = (path/to/exe optional)
3) tool = sometool someargs
Previously, if no executable is specified in the first two forms, the named tool
must be in $PATH, or the invocation fails. Since the [merge-tools] section
already has the path to the diff executable, and/or the registry keys to find
the executable on Windows, reuse that configuration for forms 1 and 2 instead of
failing. We already fallback to [diff-tools] and then [merge-tools] for program
arguments if they aren't specified in the [extdiff] section.
Since this additional lookup only occurs if an executable is not on the $PATH
for the named tool, this is backwards compatible. For now, we assume the user
knows what he is doing if a path is provided.
This change allows a configuration file like this (assuming beyondcompare3 is
configured in merge-tools), instead of hardcoding system specific a path:
[extdiff]
beyondcompare3 =
Matt Mackall <mpm@selenic.com> [Mon, 03 Nov 2014 16:30:21 -0600] rev 23149
extdiff: sort files when snapshotting
This fixes output stability and is generally
filesystem-performance-friendly.
Matt Harbison <matt_harbison@yahoo.com> [Sun, 02 Nov 2014 14:58:50 -0500] rev 23148
filemerge: split the logic for finding an external tool to its own function
This will be used by extdiff in an subsequent patch.