t0008: 4 tests fail with ksh88
[gitweb.git] / t / t0002-gitfile.sh
index 37e9396e5dae8957ba73507018d5c334ee65e30d..9670e8cbe6cb9a9faa3519b0f11dc16713496188 100755 (executable)
@@ -99,4 +99,63 @@ test_expect_success 'check rev-list' '
        test "$SHA" = "$(git rev-list HEAD)"
 '
 
+test_expect_success 'setup_git_dir twice in subdir' '
+       git init sgd &&
+       (
+               cd sgd &&
+               git config alias.lsfi ls-files &&
+               mv .git .realgit &&
+               echo "gitdir: .realgit" >.git &&
+               mkdir subdir &&
+               cd subdir &&
+               >foo &&
+               git add foo &&
+               git lsfi >actual &&
+               echo foo >expected &&
+               test_cmp expected actual
+       )
+'
+
+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