summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-05-03 15:12:38 -0700
committerJunio C Hamano <gitster@pobox.com>2013-05-03 15:12:38 -0700
commit571cdfd4e0a4cc24e215a5d5f0cb24292a9d7929 (patch)
tree72084fb42ecc467bdff4ba4878f312d94411be23
parent49010c354f817457d0f7b26909a617316a4b8d48 (diff)
parentb17dd3f9d6b1657b3fbfb40a863fc2dce5f54798 (diff)
downloadgit-571cdfd4e0a4cc24e215a5d5f0cb24292a9d7929.tar.gz
Merge branch 'tr/remote-tighten-commandline-parsing' into maint
* tr/remote-tighten-commandline-parsing: remote: 'show' and 'prune' can take more than one remote remote: check for superfluous arguments in 'git remote add' remote: add a test for extra arguments, according to docs
-rw-r--r--Documentation/git-remote.txt4
-rw-r--r--builtin/remote.c2
-rwxr-xr-xt/t5505-remote.sh22
3 files changed, 25 insertions, 3 deletions
diff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt
index e8c396b5f9..7a6f354680 100644
--- a/Documentation/git-remote.txt
+++ b/Documentation/git-remote.txt
@@ -18,8 +18,8 @@ SYNOPSIS
'git remote set-url' [--push] <name> <newurl> [<oldurl>]
'git remote set-url --add' [--push] <name> <newurl>
'git remote set-url --delete' [--push] <name> <url>
-'git remote' [-v | --verbose] 'show' [-n] <name>
-'git remote prune' [-n | --dry-run] <name>
+'git remote' [-v | --verbose] 'show' [-n] <name>...
+'git remote prune' [-n | --dry-run] <name>...
'git remote' [-v | --verbose] 'update' [-p | --prune] [(<group> | <remote>)...]
DESCRIPTION
diff --git a/builtin/remote.c b/builtin/remote.c
index 937484d7c7..5e54d367b8 100644
--- a/builtin/remote.c
+++ b/builtin/remote.c
@@ -178,7 +178,7 @@ static int add(int argc, const char **argv)
argc = parse_options(argc, argv, NULL, options, builtin_remote_add_usage,
0);
- if (argc < 2)
+ if (argc != 2)
usage_with_options(builtin_remote_add_usage, options);
if (mirror && master)
diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh
index ccc55ebf4b..8b411eb666 100755
--- a/t/t5505-remote.sh
+++ b/t/t5505-remote.sh
@@ -1003,4 +1003,26 @@ test_expect_success 'remote set-url --delete baz' '
cmp expect actual
'
+test_expect_success 'extra args: setup' '
+ # add a dummy origin so that this does not trigger failure
+ git remote add origin .
+'
+
+test_extra_arg () {
+ test_expect_success "extra args: $*" "
+ test_must_fail git remote $* bogus_extra_arg 2>actual &&
+ grep '^usage:' actual
+ "
+}
+
+test_extra_arg add nick url
+test_extra_arg rename origin newname
+test_extra_arg remove origin
+test_extra_arg set-head origin master
+# set-branches takes any number of args
+test_extra_arg set-url origin newurl oldurl
+# show takes any number of args
+# prune takes any number of args
+# update takes any number of args
+
test_done