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@xxxxxxxxx> --- git-difftool.perl | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/git-difftool.perl b/git-difftool.perl index bf51b79..33ae30a 100755 --- a/git-difftool.perl +++ b/git-difftool.perl @@ -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) { -- 1.7.10.rc1.36.g15e879 -- 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