diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-04-23 10:53:47 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-04-27 21:47:39 -0700 |
commit | a2b26acd7afb4d77d8844ccd681e993f25e75205 (patch) | |
tree | c224e3cfdbd8bab90ff9216e22b9104e413e83e6 | |
parent | 5736a3747120d6215de4fdfcf45f4a168a8d024e (diff) | |
download | git-a2b26acd7afb4d77d8844ccd681e993f25e75205.tar.gz |
clone: detect and fail on excess parameters
"git clone [options] $src $dst excess-garbage" simply ignored
excess-garbage without giving any diagnostic message. Fix it.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-clone.sh | 1 | ||||
-rwxr-xr-x | t/t5601-clone.sh | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/git-clone.sh b/git-clone.sh index 2636159aaa..9e433c0808 100755 --- a/git-clone.sh +++ b/git-clone.sh @@ -219,6 +219,7 @@ fi if test -n "$2" then dir="$2" + test $# == 2 || die "excess parameter to git-clone" else # Derive one from the repository name # Try using "humanish" part of source repo if user didn't specify one diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh new file mode 100755 index 0000000000..dc9d63dbf9 --- /dev/null +++ b/t/t5601-clone.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +test_description=clone + +. ./test-lib.sh + +test_expect_success setup ' + + rm -fr .git && + test_create_repo src && + ( + cd src + >file + git add file + git commit -m initial + ) + +' + +test_expect_success 'clone with excess parameters' ' + + test_must_fail git clone -n "file://$(pwd)/src" dst junk + +' + +test_done |