Code

clone: detect and fail on excess parameters
authorJunio C Hamano <gitster@pobox.com>
Wed, 23 Apr 2008 17:53:47 +0000 (10:53 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 28 Apr 2008 04:47:39 +0000 (21:47 -0700)
"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>
git-clone.sh
t/t5601-clone.sh [new file with mode: 0755]

index 2636159aaa7a6278d9b8fc64b853b319ac8da123..9e433c08086f3a80c91cc9dae1e48c88723b82f8 100755 (executable)
@@ -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 (executable)
index 0000000..dc9d63d
--- /dev/null
@@ -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