git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/7] "git" returns 1; "git help" and "git help -a" return 0

From
Scott R Parish <srp@srparish.net>
Date
Oct 27, 2007, 08:36 UTC
Message-ID
<1193474215-6728-1-git-send-email-srp@srparish.net>
Signed-off-by: Scott R Parish <srp@srparish.net>
---
 builtin.h |    1 +
 git.c     |    7 ++++---
 help.c    |    6 +++---
 3 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/builtin.h b/builtin.h
index 65cc0fb..9a6213a 100644
--- a/builtin.h
+++ b/builtin.h
@@ -6,6 +6,7 @@
 extern const char git_version_string[];
 extern const char git_usage_string[];
 
+extern void list_common_cmds_help(void);
 extern void help_unknown_cmd(const char *cmd);
 extern int write_tree(unsigned char *sha1, int missing_ok, const char *prefix);
 extern void prune_packed_objects(int);
diff --git a/git.c b/git.c
index 23a430c..efed91c 100644
--- a/git.c
+++ b/git.c
@@ -450,9 +450,10 @@ int main(int argc, const char **argv)
 		if (!prefixcmp(argv[0], "--"))
 			argv[0] += 2;
 	} else {
-		/* Default command: "help" */
-		argv[0] = "help";
-		argc = 1;
+		/* The user didn't specify a command; give them help */
+		printf("usage: %s\n\n", git_usage_string);
+		list_common_cmds_help();
+		exit(1);
 	}
 	cmd = argv[0];
 
diff --git a/help.c b/help.c
index 1cd33ec..d4b1818 100644
--- a/help.c
+++ b/help.c
@@ -147,7 +147,7 @@ static void list_commands(const char *exec_path, const char *pattern)
 	putchar('\n');
 }
 
-static void list_common_cmds_help(void)
+void list_common_cmds_help(void)
 {
 	int i, longest = 0;
 
@@ -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);
 	}
 
 	else if (!strcmp(help_cmd, "--all") || !strcmp(help_cmd, "-a")) {
 		printf("usage: %s\n\n", git_usage_string);
 		if(exec_path)
 			list_commands(exec_path, "git-*");
-		exit(1);
+		exit(0);
 	}
 
 	else
-- 
gitgui.0.8.4.11178.g9a1bf-dirty
Next: Scott R Parish
Message 1 of 25 in “"git" returns 1; "git help" and "git help -a" return 0”
  1. 1/7 "git" returns 1; "git help" and "git help -a" return 0Scott R Parish, Oct 27, 2007
  2. 2/7 remove unused/unneeded "pattern" argument of list_commandsScott R Parish, Oct 27, 2007
  3. 3/7 "current_exec_path" is a misleading name, use "argv_exec_path"Scott R Parish, Oct 27, 2007
  4. 4/7 list_commands(): simplify code by using chdir()Scott R Parish, Oct 27, 2007
  5. 5/7 use only the $PATH for exec'ing git commandsScott R Parish, Oct 27, 2007
  6. 6/7 walk $PATH to generate list of commands for "help -a"Scott R Parish, Oct 27, 2007
  7. 7/7 shell should call the new setup_path() to setup $PATHScott R Parish, Oct 27, 2007
  8. Junio C HamanoOct 28, 2007
  9. Scott ParishOct 28, 2007
  10. Junio C HamanoOct 28, 2007
  11. Scott ParishOct 28, 2007
  12. 6/7 include $PATH in generating list of commands for "help -a"Scott R Parish, Oct 28, 2007
  13. Junio C HamanoOct 28, 2007
  14. Scott ParishOct 28, 2007
  15. 6/7 include $PATH in generating list of commands for "help -a"Scott R Parish, Oct 28, 2007
  16. Johannes SchindelinOct 28, 2007
  17. Scott ParishOct 29, 2007
  18. Johannes SchindelinOct 29, 2007
  19. David SymondsOct 29, 2007
  20. 6/7 include $PATH in generating list of commands for "help -a"Scott R Parish, Oct 29, 2007
  21. Junio C HamanoOct 29, 2007
  22. Scott ParishOct 30, 2007
  23. Junio C HamanoOct 28, 2007
  24. Adam RobenOct 28, 2007
  25. 5/7 use only the $PATH for exec'ing git commandsScott R Parish, Oct 28, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.