David Aguilar <davvid@xxxxxxxxx> writes: > When diff.guitool is unconfigured and "--gui" is specified > git-difftool dies with the following error message: > > config diff.guitool: command returned error: 1 > > Catch the error so that the "--gui" flag is a no-op when > diff.guitool is unconfigured. > > Signed-off-by: David Aguilar <davvid@xxxxxxxxx> Makes sense; thanks. > > This is probably 'maint' material. > > git-difftool.perl | 12 +++++++----- > t/t7800-difftool.sh | 9 +++++++++ > 2 files changed, 16 insertions(+), 5 deletions(-) > > diff --git a/git-difftool.perl b/git-difftool.perl > index d975d07..adc42de 100755 > --- a/git-difftool.perl > +++ b/git-difftool.perl > @@ -78,11 +78,13 @@ sub generate_command > next; > } > if ($arg eq '-g' || $arg eq '--gui') { > - my $tool = Git::command_oneline('config', > - 'diff.guitool'); > - if (length($tool)) { > - $ENV{GIT_DIFF_TOOL} = $tool; > - } > + eval { > + my $tool = Git::command_oneline('config', > + 'diff.guitool'); > + if (length($tool)) { > + $ENV{GIT_DIFF_TOOL} = $tool; > + } > + }; > next; > } > if ($arg eq '-y' || $arg eq '--no-prompt') { > diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh > index 19c72f5..1de83ef 100755 > --- a/t/t7800-difftool.sh > +++ b/t/t7800-difftool.sh > @@ -92,6 +92,15 @@ test_expect_success 'difftool honors --gui' ' > restore_test_defaults > ' > > +test_expect_success 'difftool --gui works without configured diff.guitool' ' > + git config diff.tool test-tool && > + > + diff=$(git difftool --no-prompt --gui branch) && > + test "$diff" = "branch" && > + > + restore_test_defaults > +' > + > # Specify the diff tool using $GIT_DIFF_TOOL > test_expect_success 'GIT_DIFF_TOOL variable' ' > git config --unset diff.tool > -- > 1.7.0.3.291.g5e4f6 -- 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