1 #!/bin/sh
3 test_description=clone
5 . ./test-lib.sh
7 test_expect_success setup '
9 rm -fr .git &&
10 test_create_repo src &&
11 (
12 cd src
13 >file
14 git add file
15 git commit -m initial
16 )
18 '
20 test_expect_success 'clone with excess parameters' '
22 test_must_fail git clone -n "file://$(pwd)/src" dst junk
24 '
26 test_expect_success 'clone checks out files' '
28 git clone src dst &&
29 test -f dst/file
31 '
33 test_expect_success 'clone respects GIT_WORK_TREE' '
35 GIT_WORK_TREE=worktree git clone src bare &&
36 test -f bare/config &&
37 test -f worktree/file
39 '
41 test_expect_success 'clone creates intermediate directories' '
43 git clone src long/path/to/dst &&
44 test -f long/path/to/dst/file
46 '
48 test_expect_success 'clone creates intermediate directories for bare repo' '
50 git clone --bare src long/path/to/bare/dst &&
51 test -f long/path/to/bare/dst/config
53 '
55 test_done