summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2008-04-09 11:15:51 -0400
committerJunio C Hamano <gitster@pobox.com>2008-04-10 01:37:12 -0700
commitc4112bb6bbc83708c7b54deac0928e66b4de2302 (patch)
treeea1675332d35bf0cbdbb0054b11d2f3d47179857
parent71349732c53a4c1b64729628b04db7b3c3f7606d (diff)
downloadgit-c4112bb6bbc83708c7b54deac0928e66b4de2302.tar.gz
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 <remote>": 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 <peff@peff.net> Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin-remote.c7
1 files changed, 6 insertions, 1 deletions
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++) {