From: Jeff King Date: Wed, 9 Apr 2008 15:15:51 +0000 (-0400) Subject: git-remote: show all remotes with "git remote show" X-Git-Tag: v1.5.6-rc0~139^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/c4112bb6bbc83708c7b54deac0928e66b4de2302 git-remote: show all remotes with "git remote show" Many other commands use the "no arguments" form to show a list (e.g., git-branch, git-tag). While we did show all remotes for just "git remote", we displayed a usage error for "git remote show" with no arguments. This is counterintuitive, since by giving it _more_ information, we get _less_ result. The usage model can now be thought of as: - "git remote show ": show a remote - "git remote show": show all remotes - "git remote": assume "show"; i.e., shorthand for "git remote show" Signed-off-by: Jeff King Acked-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- diff --git a/builtin-remote.c b/builtin-remote.c index d77f10a0ea..06d33e5c73 100644 --- a/builtin-remote.c +++ b/builtin-remote.c @@ -19,6 +19,8 @@ static const char * const builtin_remote_usage[] = { static int verbose; +static int show_all(void); + static inline int postfixcmp(const char *string, const char *postfix) { int len1 = strlen(string), len2 = strlen(postfix); @@ -380,8 +382,11 @@ static int show_or_prune(int argc, const char **argv, int prune) argc = parse_options(argc, argv, options, builtin_remote_usage, 0); - if (argc < 1) + if (argc < 1) { + if (!prune) + return show_all(); usage_with_options(builtin_remote_usage, options); + } memset(&states, 0, sizeof(states)); for (; argc; argc--, argv++) {