difftool: exit(0) when usage is printed
authorTim Henigan <tim.henigan@gmail.com>
Thu, 22 Mar 2012 19:52:18 +0000 (15:52 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 23 Mar 2012 18:46:26 +0000 (11:46 -0700)
Prior to this commit, the script exited with an error whenever the
usage string was printed, regardless of the reason it was done. In
cases where usage was printed due to a user request (e.g. '-h'
option), the script should exit without error (exit 0).

This commit adds an argument to the usage function that allows the
exit code to be specified when the function is called.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-difftool.perl

index 93e84e8d3da8a88d6517a5174e650cf102343542..4555cd8b1c5b8cda4527b328b858a015ac75d357 100755 (executable)
@@ -20,6 +20,7 @@ use Git;
 
 sub usage
 {
+       my $exitcode = shift;
        print << 'USAGE';
 usage: git difftool [-t|--tool=<tool>]
                     [-x|--extcmd=<cmd>]
@@ -27,7 +28,7 @@ usage: git difftool [-t|--tool=<tool>]
                     [--prompt] [-y|--no-prompt]
                     ['git diff' options]
 USAGE
-       exit 1;
+       exit($exitcode);
 }
 
 sub setup_environment
@@ -58,14 +59,14 @@ GetOptions('g|gui!' => \$gui,
        'x|extcmd:s' => \$extcmd);
 
 if (defined($help)) {
-       usage();
+       usage(0);
 }
 if (defined($difftool_cmd)) {
        if (length($difftool_cmd) > 0) {
                $ENV{GIT_DIFF_TOOL} = $difftool_cmd;
        } else {
                print "No <tool> given for --tool=<tool>\n";
-               usage();
+               usage(1);
        }
 }
 if (defined($extcmd)) {
@@ -73,7 +74,7 @@ if (defined($extcmd)) {
                $ENV{GIT_DIFFTOOL_EXTCMD} = $extcmd;
        } else {
                print "No <cmd> given for --extcmd=<cmd>\n";
-               usage();
+               usage(1);
        }
 }
 if ($gui) {