]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/t0001-init.sh
Merge branch 'vd/fsck-submodule-url-test'
[thirdparty/git.git] / t / t0001-init.sh
index 30a6edca1d29fcef63cfc155685600c63553f636..b131d665db40e9858d4a3f9c13ab71eb77d6cc5f 100755 (executable)
@@ -168,8 +168,8 @@ test_expect_success 'reinit' '
                git -c init.defaultBranch=initial init >out1 2>err1 &&
                git init >out2 2>err2
        ) &&
-       test_i18ngrep "Initialized empty" again/out1 &&
-       test_i18ngrep "Reinitialized existing" again/out2 &&
+       test_grep "Initialized empty" again/out1 &&
+       test_grep "Reinitialized existing" again/out2 &&
        test_must_be_empty again/err1 &&
        test_must_be_empty again/err2
 '
@@ -332,7 +332,7 @@ test_expect_success 'init with separate gitdir' '
 
 test_expect_success 'explicit bare & --separate-git-dir incompatible' '
        test_must_fail git init --bare --separate-git-dir goop.git bare.git 2>err &&
-       test_i18ngrep "cannot be used together" err
+       test_grep "cannot be used together" err
 '
 
 test_expect_success 'implicit bare & --separate-git-dir incompatible' '
@@ -340,7 +340,7 @@ test_expect_success 'implicit bare & --separate-git-dir incompatible' '
        mkdir -p bare.git &&
        test_must_fail env GIT_DIR=. \
                git -C bare.git init --separate-git-dir goop.git 2>err &&
-       test_i18ngrep "incompatible" err
+       test_grep "incompatible" err
 '
 
 test_expect_success 'bare & --separate-git-dir incompatible within worktree' '
@@ -349,7 +349,7 @@ test_expect_success 'bare & --separate-git-dir incompatible within worktree' '
        git clone --bare . bare.git &&
        git -C bare.git worktree add --detach ../linkwt &&
        test_must_fail git -C linkwt init --separate-git-dir seprepo 2>err &&
-       test_i18ngrep "incompatible" err
+       test_grep "incompatible" err
 '
 
 test_lazy_prereq GETCWD_IGNORES_PERMS '
@@ -532,6 +532,76 @@ test_expect_success 'init rejects attempts to initialize with different hash' '
        test_must_fail git -C sha256 init --object-format=sha1
 '
 
+test_expect_success DEFAULT_REPO_FORMAT 'extensions.refStorage is not allowed with repo version 0' '
+       test_when_finished "rm -rf refstorage" &&
+       git init refstorage &&
+       git -C refstorage config extensions.refStorage files &&
+       test_must_fail git -C refstorage rev-parse 2>err &&
+       grep "repo version is 0, but v1-only extension found" err
+'
+
+test_expect_success DEFAULT_REPO_FORMAT 'extensions.refStorage with files backend' '
+       test_when_finished "rm -rf refstorage" &&
+       git init refstorage &&
+       git -C refstorage config core.repositoryformatversion 1 &&
+       git -C refstorage config extensions.refStorage files &&
+       test_commit -C refstorage A &&
+       git -C refstorage rev-parse --verify HEAD
+'
+
+test_expect_success DEFAULT_REPO_FORMAT 'extensions.refStorage with unknown backend' '
+       test_when_finished "rm -rf refstorage" &&
+       git init refstorage &&
+       git -C refstorage config core.repositoryformatversion 1 &&
+       git -C refstorage config extensions.refStorage garbage &&
+       test_must_fail git -C refstorage rev-parse 2>err &&
+       grep "invalid value for ${SQ}extensions.refstorage${SQ}: ${SQ}garbage${SQ}" err
+'
+
+test_expect_success DEFAULT_REPO_FORMAT 'init with GIT_DEFAULT_REF_FORMAT=files' '
+       test_when_finished "rm -rf refformat" &&
+       GIT_DEFAULT_REF_FORMAT=files git init refformat &&
+       echo 0 >expect &&
+       git -C refformat config core.repositoryformatversion >actual &&
+       test_cmp expect actual &&
+       test_must_fail git -C refformat config extensions.refstorage
+'
+
+test_expect_success 'init with GIT_DEFAULT_REF_FORMAT=garbage' '
+       test_when_finished "rm -rf refformat" &&
+       cat >expect <<-EOF &&
+       fatal: unknown ref storage format ${SQ}garbage${SQ}
+       EOF
+       test_must_fail env GIT_DEFAULT_REF_FORMAT=garbage git init refformat 2>err &&
+       test_cmp expect err
+'
+
+test_expect_success 'init with --ref-format=files' '
+       test_when_finished "rm -rf refformat" &&
+       git init --ref-format=files refformat &&
+       echo files >expect &&
+       git -C refformat rev-parse --show-ref-format >actual &&
+       test_cmp expect actual
+'
+
+test_expect_success 're-init with same format' '
+       test_when_finished "rm -rf refformat" &&
+       git init --ref-format=files refformat &&
+       git init --ref-format=files refformat &&
+       echo files >expect &&
+       git -C refformat rev-parse --show-ref-format >actual &&
+       test_cmp expect actual
+'
+
+test_expect_success 'init with --ref-format=garbage' '
+       test_when_finished "rm -rf refformat" &&
+       cat >expect <<-EOF &&
+       fatal: unknown ref storage format ${SQ}garbage${SQ}
+       EOF
+       test_must_fail git init --ref-format=garbage refformat 2>err &&
+       test_cmp expect err
+'
+
 test_expect_success MINGW 'core.hidedotfiles = false' '
        git config --global core.hidedotfiles false &&
        rm -rf newdir &&
@@ -563,7 +633,7 @@ test_expect_success '--initial-branch' '
 
        : re-initializing should not change the branch name &&
        git init --initial-branch=ignore initial-branch-option 2>err &&
-       test_i18ngrep "ignored --initial-branch" err &&
+       test_grep "ignored --initial-branch" err &&
        git -C initial-branch-option symbolic-ref HEAD >actual &&
        grep hello actual
 '
@@ -579,7 +649,7 @@ test_expect_success 'advice on unconfigured init.defaultBranch' '
        GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME= git -c color.advice=always \
                init unconfigured-default-branch-name 2>err &&
        test_decode_color <err >decoded &&
-       test_i18ngrep "<YELLOW>hint: " decoded
+       test_grep "<YELLOW>hint: " decoded
 '
 
 test_expect_success 'overridden default main branch name (env)' '
@@ -592,7 +662,7 @@ test_expect_success 'overridden default main branch name (env)' '
 test_expect_success 'invalid default branch name' '
        test_must_fail env GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME="with space" \
                git init initial-branch-invalid 2>err &&
-       test_i18ngrep "invalid branch name" err
+       test_grep "invalid branch name" err
 '
 
 test_expect_success 'branch -m with the initial branch' '