Re: [PATCH] "git help" and "git help -a" shouldn't exit(1) unless they error
From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:43:43
Scott R Parish [off-list ref] wrote:
quoted hunk ↗ jump to hunk
diff --git a/help.c b/help.c index 1cd33ec..b0d2dd4 100644 --- a/help.c +++ b/help.c@@ -204,14 +204,14 @@ int cmd_help(int argc, const char **argv, const char *prefix) if (!help_cmd) { printf("usage: %s\n\n", git_usage_string); list_common_cmds_help(); - exit(1); + exit(0); }
Although it seems simple on the surface this patch breaks the test suite: $ make test make -C t/ all make[1]: Entering directory `/home/spearce/mygit/t' *** t0000-basic.sh *** You do not seem to have built git yet. The issue here is t0000-basic.sh runs "../git" and tests that the exit status is 1. If it isn't (the patch above makes it 0) we just abort the test suite entirely. I think its correct for "git help" to exit 0, and also for "git help checkout" or "git checkout --help" to exit 0, but "git" by itself with no subcommand should exit with an error, it requires a subcommand to continue. So some sort of change is needed in git.c to handle this special no subcommand condition. -- Shawn.