On Thu, Apr 12, 2012 at 2:27 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Tim Henigan <tim.henigan@xxxxxxxxx> writes: > >> +sub setup_dir_diff >> +{ >> + # Run the diff; exit immediately if no diff found >> + my $cmd = "git diff --raw --no-abbrev -z " . join(" ", @ARGV); >> + my $diffrtn = `$cmd` or die $!; > > Why this change? It looks like a rather unpleasant regression compared to > the previous one that used "command_oneline", so that each element of > @ARGV was given as a single argument to the command. Now, you are > splitting any argument that has $IFS in it. The 'Git->repository->command*' functions all override the $GIT_WORK_TREE set by the user on the command line with 'pwd'. They also override the 'core.worktree' setting, if it is used. So without this change, the following fails: $ GIT_DIR=<dir> GIT_WORK_TREE=<dir> git difftool -d Would the following change be better? - my $cmd = "git diff --raw --no-abbrev -z " . join(" ", @ARGV); + my $cmd = "git diff --raw --no-abbrev -z @ARGV"; -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html