Code

Merge branch 'maint'
[git.git] / t / t5601-clone.sh
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 (1)' '
22         rm -fr dst &&
23         test_must_fail git clone -n src dst junk
25 '
27 test_expect_success 'clone with excess parameters (2)' '
29         rm -fr dst &&
30         test_must_fail git clone -n "file://$(pwd)/src" dst junk
32 '
34 test_expect_success 'clone does not keep pack' '
36         rm -fr dst &&
37         git clone -n "file://$(pwd)/src" dst &&
38         ! test -f dst/file &&
39         ! (echo dst/.git/objects/pack/pack-* | grep "\.keep")
41 '
43 test_expect_success 'clone checks out files' '
45         rm -fr dst &&
46         git clone src dst &&
47         test -f dst/file
49 '
51 test_expect_success 'clone respects GIT_WORK_TREE' '
53         GIT_WORK_TREE=worktree git clone src bare &&
54         test -f bare/config &&
55         test -f worktree/file
57 '
59 test_expect_success 'clone creates intermediate directories' '
61         git clone src long/path/to/dst &&
62         test -f long/path/to/dst/file
64 '
66 test_expect_success 'clone creates intermediate directories for bare repo' '
68         git clone --bare src long/path/to/bare/dst &&
69         test -f long/path/to/bare/dst/config
71 '
73 test_done