diff options
author | Junio C Hamano <gitster@pobox.com> | 2013-05-01 15:24:01 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-05-01 15:24:01 -0700 |
commit | c259a1a927016fa5b80e3a7055031430cbdfddb8 (patch) | |
tree | 841a389391b80df690c30fb64792a068c49940fc | |
parent | b9347eb224d7b38f29893e75b6ca16a61647a4f2 (diff) | |
parent | b17dd3f9d6b1657b3fbfb40a863fc2dce5f54798 (diff) | |
download | git-c259a1a927016fa5b80e3a7055031430cbdfddb8.tar.gz |
Merge branch 'tr/remote-tighten-commandline-parsing'
* 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.txt | 4 | ||||
-rw-r--r-- | builtin/remote.c | 2 | ||||
-rwxr-xr-x | t/t5505-remote.sh | 22 |
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 6579a86724..dd10ff053c 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 |