Browse Source

difftool: provide basename to external tools

Currently, only configured diff helpers get the basename of the file
being compared. Tools specified with "git difftool -x" only get the
names of temporary files for the different versions.

Export BASE so that an external tool can read the name from the
environment. Rather than using a third argument, this avoids breaking
existing scripts which may somewhat carelessly be using "$@" rather than
"$1" "$2".

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Michael J Gruber 14 years ago committed by Junio C Hamano
parent
commit
4a689afb03
  1. 1
      Documentation/git-difftool.txt
  2. 1
      git-difftool--helper.sh

1
Documentation/git-difftool.txt

@ -64,6 +64,7 @@ with custom merge tool commands and has the same value as `$MERGED`. @@ -64,6 +64,7 @@ with custom merge tool commands and has the same value as `$MERGED`.
Specify a custom command for viewing diffs.
'git-difftool' ignores the configured defaults and runs
`$command $LOCAL $REMOTE` when this option is specified.
Additionally, `$BASE` is set in the environment.

-g::
--gui::

1
git-difftool--helper.sh

@ -49,6 +49,7 @@ launch_merge_tool () { @@ -49,6 +49,7 @@ launch_merge_tool () {
fi

if use_ext_cmd; then
export BASE
eval $GIT_DIFFTOOL_EXTCMD '"$LOCAL"' '"$REMOTE"'
else
run_merge_tool "$merge_tool"

Loading…
Cancel
Save