Merge branch 'nd/clone-linked-checkout' into maint
It was not possible to use a repository-lookalike created by "git worktree add" as a local source of "git clone". * nd/clone-linked-checkout: clone: better error when --reference is a linked checkout clone: allow --local from a linked checkout enter_repo: allow .git files in strict mode enter_repo: avoid duplicating logic, use is_git_directory() instead t0002: add test for enter_repo(), non-strict mode path.c: delete an extra space
This commit is contained in:
@ -116,4 +116,46 @@ test_expect_success 'setup_git_dir twice in subdir' '
|
||||
)
|
||||
'
|
||||
|
||||
test_expect_success 'enter_repo non-strict mode' '
|
||||
test_create_repo enter_repo &&
|
||||
(
|
||||
cd enter_repo &&
|
||||
test_tick &&
|
||||
test_commit foo &&
|
||||
mv .git .realgit &&
|
||||
echo "gitdir: .realgit" >.git
|
||||
) &&
|
||||
git ls-remote enter_repo >actual &&
|
||||
cat >expected <<-\EOF &&
|
||||
946e985ab20de757ca5b872b16d64e92ff3803a9 HEAD
|
||||
946e985ab20de757ca5b872b16d64e92ff3803a9 refs/heads/master
|
||||
946e985ab20de757ca5b872b16d64e92ff3803a9 refs/tags/foo
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'enter_repo linked checkout' '
|
||||
(
|
||||
cd enter_repo &&
|
||||
git worktree add ../foo refs/tags/foo
|
||||
) &&
|
||||
git ls-remote foo >actual &&
|
||||
cat >expected <<-\EOF &&
|
||||
946e985ab20de757ca5b872b16d64e92ff3803a9 HEAD
|
||||
946e985ab20de757ca5b872b16d64e92ff3803a9 refs/heads/master
|
||||
946e985ab20de757ca5b872b16d64e92ff3803a9 refs/tags/foo
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'enter_repo strict mode' '
|
||||
git ls-remote --upload-pack="git upload-pack --strict" foo/.git >actual &&
|
||||
cat >expected <<-\EOF &&
|
||||
946e985ab20de757ca5b872b16d64e92ff3803a9 HEAD
|
||||
946e985ab20de757ca5b872b16d64e92ff3803a9 refs/heads/master
|
||||
946e985ab20de757ca5b872b16d64e92ff3803a9 refs/tags/foo
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -193,4 +193,9 @@ test_expect_success '"add" -B/--detach mutually exclusive' '
|
||||
test_must_fail git worktree add -B poodle --detach bamboo master
|
||||
'
|
||||
|
||||
test_expect_success 'local clone from linked checkout' '
|
||||
git clone --local here here-clone &&
|
||||
( cd here-clone && git fsck )
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Reference in New Issue
Block a user