| #!/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 (1)' ' |
| |
| rm -fr dst && |
| test_must_fail git clone -n src dst junk |
| |
| ' |
| |
| test_expect_success 'clone with excess parameters (2)' ' |
| |
| rm -fr dst && |
| test_must_fail git clone -n "file://$(pwd)/src" dst junk |
| |
| ' |
| |
| test_expect_success 'clone does not keep pack' ' |
| |
| rm -fr dst && |
| git clone -n "file://$(pwd)/src" dst && |
| ! test -f dst/file && |
| ! (echo dst/.git/objects/pack/pack-* | grep "\.keep") |
| |
| ' |
| |
| test_expect_success 'clone checks out files' ' |
| |
| rm -fr dst && |
| git clone src dst && |
| test -f dst/file |
| |
| ' |
| |
| test_expect_success 'clone respects GIT_WORK_TREE' ' |
| |
| GIT_WORK_TREE=worktree git clone src bare && |
| test -f bare/config && |
| test -f worktree/file |
| |
| ' |
| |
| test_expect_success 'clone creates intermediate directories' ' |
| |
| git clone src long/path/to/dst && |
| test -f long/path/to/dst/file |
| |
| ' |
| |
| test_expect_success 'clone creates intermediate directories for bare repo' ' |
| |
| git clone --bare src long/path/to/bare/dst && |
| test -f long/path/to/bare/dst/config |
| |
| ' |
| |
| test_done |