{"thread":{"id":"59777","subject":"[PATCH 00/10] tests: modernize test format part 2","startedAt":"2023-05-20T16:14:05Z","lastAt":"2023-05-20T16:14:30Z","messageCount":11,"participants":["John Cai via GitGitGadget"],"isPatch":true,"patchVersion":1,"patchTotal":10},"messages":[{"id":"477622","messageId":"pull.1514.git.git.1684599239.gitgitgadget@gmail.com","threadId":"59777","inReplyTo":null,"subject":"[PATCH 00/10] tests: modernize test format part 2","fromName":"John Cai via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2023-05-20T16:13:48Z","receivedAt":"2023-05-20T16:14:05Z","isPatch":true,"sender":{"key":"johncai86@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2354211?v=4"},"body":"There are a number of tests that still follow an old convention of using\nfour-space indentation. Update a bunch of tests to use the new convention\nwith tab indentation.\n\nThis is a continued effort from [1]\n\n 1. https://lore.kernel.org/git/pull.1513.git.git.1684440205.gitgitgadget@gmail.com/\n\nJohn Cai (10):\n  t7110-reset-merge: modernize test format\n  t7111-reset-table: modernize test format\n  t7201-co: modernize test format\n  t7508-status: modernize test format\n  t7600-merge: modernize test format\n  t7700-repack: modernize test format\n  t9100-git-svn-basic: modernize test format\n  t9104-git-svn-follow-parent: modernize test format\n  t9200-git-cvsexportcommit: modernize test format\n  t9400-git-cvsserver-server: modernize test format\n\n t/t7110-reset-merge.sh           | 314 +++++++++---------\n t/t7111-reset-table.sh           |  20 +-\n t/t7201-co.sh                    |  92 +++---\n t/t7508-status.sh                |   4 +-\n t/t7600-merge.sh                 |  40 +--\n t/t7700-repack.sh                |  10 +-\n t/t9100-git-svn-basic.sh         |  31 +-\n t/t9104-git-svn-follow-parent.sh |  62 ++--\n t/t9200-git-cvsexportcommit.sh   | 351 ++++++++++----------\n t/t9400-git-cvsserver-server.sh  | 530 ++++++++++++++++---------------\n 10 files changed, 739 insertions(+), 715 deletions(-)\n\n\nbase-commit: 9e49351c3060e1fa6e0d2de64505b7becf157f28\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1514%2Fjohn-cai%2Fjc%2Ftest-modernization-continued-v1\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1514/john-cai/jc/test-modernization-continued-v1\nPull-Request: https://github.com/git/git/pull/1514\n-- \ngitgitgadget\n"},{"id":"477623","messageId":"e3e4bb56bcc3f8fd4ae211a3d48a8a2e4f373ad0.1684599239.git.gitgitgadget@gmail.com","threadId":"59777","inReplyTo":"pull.1514.git.git.1684599239.gitgitgadget@gmail.com","subject":"[PATCH 01/10] t7110-reset-merge: modernize test format","fromName":"John Cai via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2023-05-20T16:13:49Z","receivedAt":"2023-05-20T16:14:07Z","isPatch":true,"sender":{"key":"johncai86@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2354211?v=4"},"body":"From: John Cai <johncai86@gmail.com>\n\nSome tests still use the old format with four spaces indentation.\nStandardize the tests to the new format with tab indentation.\n\nSigned-off-by: John Cai <johncai86@gmail.com>\n---\n t/t7110-reset-merge.sh | 314 ++++++++++++++++++++---------------------\n 1 file changed, 157 insertions(+), 157 deletions(-)\n\ndiff --git a/t/t7110-reset-merge.sh b/t/t7110-reset-merge.sh\nindex eb881be95b6..772480a345f 100755\n--- a/t/t7110-reset-merge.sh\n+++ b/t/t7110-reset-merge.sh\n@@ -9,17 +9,17 @@ TEST_PASSES_SANITIZE_LEAK=true\n . ./test-lib.sh\n \n test_expect_success setup '\n-    printf \"line %d\\n\" 1 2 3 >file1 &&\n-    cat file1 >file2 &&\n-    git add file1 file2 &&\n-    test_tick &&\n-    git commit -m \"Initial commit\" &&\n-    git tag initial &&\n-    echo line 4 >>file1 &&\n-    cat file1 >file2 &&\n-    test_tick &&\n-    git commit -m \"add line 4 to file1\" file1 &&\n-    git tag second\n+\tprintf \"line %d\\n\" 1 2 3 >file1 &&\n+\tcat file1 >file2 &&\n+\tgit add file1 file2 &&\n+\ttest_tick &&\n+\tgit commit -m \"Initial commit\" &&\n+\tgit tag initial &&\n+\techo line 4 >>file1 &&\n+\tcat file1 >file2 &&\n+\ttest_tick &&\n+\tgit commit -m \"add line 4 to file1\" file1 &&\n+\tgit tag second\n '\n \n # The next test will test the following:\n@@ -29,19 +29,19 @@ test_expect_success setup '\n # file1:     C       C     C    D     --merge  D       D     D\n # file2:     C       D     D    D     --merge  C       D     D\n test_expect_success 'reset --merge is ok with changes in file it does not touch' '\n-    git reset --merge HEAD^ &&\n-    ! grep 4 file1 &&\n-    grep 4 file2 &&\n-    test \"$(git rev-parse HEAD)\" = \"$(git rev-parse initial)\" &&\n-    test -z \"$(git diff --cached)\"\n+\tgit reset --merge HEAD^ &&\n+\t! grep 4 file1 &&\n+\tgrep 4 file2 &&\n+\ttest \"$(git rev-parse HEAD)\" = \"$(git rev-parse initial)\" &&\n+\ttest -z \"$(git diff --cached)\"\n '\n \n test_expect_success 'reset --merge is ok when switching back' '\n-    git reset --merge second &&\n-    grep 4 file1 &&\n-    grep 4 file2 &&\n-    test \"$(git rev-parse HEAD)\" = \"$(git rev-parse second)\" &&\n-    test -z \"$(git diff --cached)\"\n+\tgit reset --merge second &&\n+\tgrep 4 file1 &&\n+\tgrep 4 file2 &&\n+\ttest \"$(git rev-parse HEAD)\" = \"$(git rev-parse second)\" &&\n+\ttest -z \"$(git diff --cached)\"\n '\n \n # The next test will test the following:\n@@ -51,21 +51,21 @@ test_expect_success 'reset --merge is ok when switching back' '\n # file1:     C       C     C    D     --keep   D       D     D\n # file2:     C       D     D    D     --keep   C       D     D\n test_expect_success 'reset --keep is ok with changes in file it does not touch' '\n-    git reset --hard second &&\n-    cat file1 >file2 &&\n-    git reset --keep HEAD^ &&\n-    ! grep 4 file1 &&\n-    grep 4 file2 &&\n-    test \"$(git rev-parse HEAD)\" = \"$(git rev-parse initial)\" &&\n-    test -z \"$(git diff --cached)\"\n+\tgit reset --hard second &&\n+\tcat file1 >file2 &&\n+\tgit reset --keep HEAD^ &&\n+\t! grep 4 file1 &&\n+\tgrep 4 file2 &&\n+\ttest \"$(git rev-parse HEAD)\" = \"$(git rev-parse initial)\" &&\n+\ttest -z \"$(git diff --cached)\"\n '\n \n test_expect_success 'reset --keep is ok when switching back' '\n-    git reset --keep second &&\n-    grep 4 file1 &&\n-    grep 4 file2 &&\n-    test \"$(git rev-parse HEAD)\" = \"$(git rev-parse second)\" &&\n-    test -z \"$(git diff --cached)\"\n+\tgit reset --keep second &&\n+\tgrep 4 file1 &&\n+\tgrep 4 file2 &&\n+\ttest \"$(git rev-parse HEAD)\" = \"$(git rev-parse second)\" &&\n+\ttest -z \"$(git diff --cached)\"\n '\n \n # The next test will test the following:\n@@ -75,28 +75,28 @@ test_expect_success 'reset --keep is ok when switching back' '\n # file1:     B       B     C    D     --merge  D       D     D\n # file2:     C       D     D    D     --merge  C       D     D\n test_expect_success 'reset --merge discards changes added to index (1)' '\n-    git reset --hard second &&\n-    cat file1 >file2 &&\n-    echo \"line 5\" >> file1 &&\n-    git add file1 &&\n-    git reset --merge HEAD^ &&\n-    ! grep 4 file1 &&\n-    ! grep 5 file1 &&\n-    grep 4 file2 &&\n-    test \"$(git rev-parse HEAD)\" = \"$(git rev-parse initial)\" &&\n-    test -z \"$(git diff --cached)\"\n+\tgit reset --hard second &&\n+\tcat file1 >file2 &&\n+\techo \"line 5\" >> file1 &&\n+\tgit add file1 &&\n+\tgit reset --merge HEAD^ &&\n+\t! grep 4 file1 &&\n+\t! grep 5 file1 &&\n+\tgrep 4 file2 &&\n+\ttest \"$(git rev-parse HEAD)\" = \"$(git rev-parse initial)\" &&\n+\ttest -z \"$(git diff --cached)\"\n '\n \n test_expect_success 'reset --merge is ok again when switching back (1)' '\n-    git reset --hard initial &&\n-    echo \"line 5\" >> file2 &&\n-    git add file2 &&\n-    git reset --merge second &&\n-    ! grep 4 file2 &&\n-    ! grep 5 file1 &&\n-    grep 4 file1 &&\n-    test \"$(git rev-parse HEAD)\" = \"$(git rev-parse second)\" &&\n-    test -z \"$(git diff --cached)\"\n+\tgit reset --hard initial &&\n+\techo \"line 5\" >> file2 &&\n+\tgit add file2 &&\n+\tgit reset --merge second &&\n+\t! grep 4 file2 &&\n+\t! grep 5 file1 &&\n+\tgrep 4 file1 &&\n+\ttest \"$(git rev-parse HEAD)\" = \"$(git rev-parse second)\" &&\n+\ttest -z \"$(git diff --cached)\"\n '\n \n # The next test will test the following:\n@@ -105,10 +105,10 @@ test_expect_success 'reset --merge is ok again when switching back (1)' '\n #           ----------------------------------------------------\n # file1:     B       B     C    D     --keep   (disallowed)\n test_expect_success 'reset --keep fails with changes in index in files it touches' '\n-    git reset --hard second &&\n-    echo \"line 5\" >> file1 &&\n-    git add file1 &&\n-    test_must_fail git reset --keep HEAD^\n+\tgit reset --hard second &&\n+\techo \"line 5\" >> file1 &&\n+\tgit add file1 &&\n+\ttest_must_fail git reset --keep HEAD^\n '\n \n # The next test will test the following:\n@@ -118,23 +118,23 @@ test_expect_success 'reset --keep fails with changes in index in files it touche\n # file1:     C       C     C    D     --merge  D       D     D\n # file2:     C       C     D    D     --merge  D       D     D\n test_expect_success 'reset --merge discards changes added to index (2)' '\n-    git reset --hard second &&\n-    echo \"line 4\" >> file2 &&\n-    git add file2 &&\n-    git reset --merge HEAD^ &&\n-    ! grep 4 file2 &&\n-    test \"$(git rev-parse HEAD)\" = \"$(git rev-parse initial)\" &&\n-    test -z \"$(git diff)\" &&\n-    test -z \"$(git diff --cached)\"\n+\tgit reset --hard second &&\n+\techo \"line 4\" >> file2 &&\n+\tgit add file2 &&\n+\tgit reset --merge HEAD^ &&\n+\t! grep 4 file2 &&\n+\ttest \"$(git rev-parse HEAD)\" = \"$(git rev-parse initial)\" &&\n+\ttest -z \"$(git diff)\" &&\n+\ttest -z \"$(git diff --cached)\"\n '\n \n test_expect_success 'reset --merge is ok again when switching back (2)' '\n-    git reset --hard initial &&\n-    git reset --merge second &&\n-    ! grep 4 file2 &&\n-    grep 4 file1 &&\n-    test \"$(git rev-parse HEAD)\" = \"$(git rev-parse second)\" &&\n-    test -z \"$(git diff --cached)\"\n+\tgit reset --hard initial &&\n+\tgit reset --merge second &&\n+\t! grep 4 file2 &&\n+\tgrep 4 file1 &&\n+\ttest \"$(git rev-parse HEAD)\" = \"$(git rev-parse second)\" &&\n+\ttest -z \"$(git diff --cached)\"\n '\n \n # The next test will test the following:\n@@ -144,21 +144,21 @@ test_expect_success 'reset --merge is ok again when switching back (2)' '\n # file1:     C       C     C    D     --keep   D       D     D\n # file2:     C       C     D    D     --keep   C       D     D\n test_expect_success 'reset --keep keeps changes it does not touch' '\n-    git reset --hard second &&\n-    echo \"line 4\" >> file2 &&\n-    git add file2 &&\n-    git reset --keep HEAD^ &&\n-    grep 4 file2 &&\n-    test \"$(git rev-parse HEAD)\" = \"$(git rev-parse initial)\" &&\n-    test -z \"$(git diff --cached)\"\n+\tgit reset --hard second &&\n+\techo \"line 4\" >> file2 &&\n+\tgit add file2 &&\n+\tgit reset --keep HEAD^ &&\n+\tgrep 4 file2 &&\n+\ttest \"$(git rev-parse HEAD)\" = \"$(git rev-parse initial)\" &&\n+\ttest -z \"$(git diff --cached)\"\n '\n \n test_expect_success 'reset --keep keeps changes when switching back' '\n-    git reset --keep second &&\n-    grep 4 file2 &&\n-    grep 4 file1 &&\n-    test \"$(git rev-parse HEAD)\" = \"$(git rev-parse second)\" &&\n-    test -z \"$(git diff --cached)\"\n+\tgit reset --keep second &&\n+\tgrep 4 file2 &&\n+\tgrep 4 file1 &&\n+\ttest \"$(git rev-parse HEAD)\" = \"$(git rev-parse second)\" &&\n+\ttest -z \"$(git diff --cached)\"\n '\n \n # The next test will test the following:\n@@ -167,14 +167,14 @@ test_expect_success 'reset --keep keeps changes when switching back' '\n #           ----------------------------------------------------\n # file1:     A       B     B    C     --merge  (disallowed)\n test_expect_success 'reset --merge fails with changes in file it touches' '\n-    git reset --hard second &&\n-    echo \"line 5\" >> file1 &&\n-    test_tick &&\n-    git commit -m \"add line 5\" file1 &&\n-    sed -e \"s/line 1/changed line 1/\" <file1 >file3 &&\n-    mv file3 file1 &&\n-    test_must_fail git reset --merge HEAD^ 2>err.log &&\n-    grep file1 err.log | grep \"not uptodate\"\n+\tgit reset --hard second &&\n+\techo \"line 5\" >> file1 &&\n+\ttest_tick &&\n+\tgit commit -m \"add line 5\" file1 &&\n+\tsed -e \"s/line 1/changed line 1/\" <file1 >file3 &&\n+\tmv file3 file1 &&\n+\ttest_must_fail git reset --merge HEAD^ 2>err.log &&\n+\tgrep file1 err.log | grep \"not uptodate\"\n '\n \n # The next test will test the following:\n@@ -183,36 +183,36 @@ test_expect_success 'reset --merge fails with changes in file it touches' '\n #           ----------------------------------------------------\n # file1:     A       B     B    C     --keep   (disallowed)\n test_expect_success 'reset --keep fails with changes in file it touches' '\n-    git reset --hard second &&\n-    echo \"line 5\" >> file1 &&\n-    test_tick &&\n-    git commit -m \"add line 5\" file1 &&\n-    sed -e \"s/line 1/changed line 1/\" <file1 >file3 &&\n-    mv file3 file1 &&\n-    test_must_fail git reset --keep HEAD^ 2>err.log &&\n-    grep file1 err.log | grep \"not uptodate\"\n+\tgit reset --hard second &&\n+\techo \"line 5\" >> file1 &&\n+\ttest_tick &&\n+\tgit commit -m \"add line 5\" file1 &&\n+\tsed -e \"s/line 1/changed line 1/\" <file1 >file3 &&\n+\tmv file3 file1 &&\n+\ttest_must_fail git reset --keep HEAD^ 2>err.log &&\n+\tgrep file1 err.log | grep \"not uptodate\"\n '\n \n test_expect_success 'setup 3 different branches' '\n-    git reset --hard second &&\n-    git branch branch1 &&\n-    git branch branch2 &&\n-    git branch branch3 &&\n-    git checkout branch1 &&\n-    echo \"line 5 in branch1\" >> file1 &&\n-    test_tick &&\n-    git commit -a -m \"change in branch1\" &&\n-    git checkout branch2 &&\n-    echo \"line 5 in branch2\" >> file1 &&\n-    test_tick &&\n-    git commit -a -m \"change in branch2\" &&\n-    git tag third &&\n-    git checkout branch3 &&\n-    echo a new file >file3 &&\n-    rm -f file1 &&\n-    git add file3 &&\n-    test_tick &&\n-    git commit -a -m \"change in branch3\"\n+\tgit reset --hard second &&\n+\tgit branch branch1 &&\n+\tgit branch branch2 &&\n+\tgit branch branch3 &&\n+\tgit checkout branch1 &&\n+\techo \"line 5 in branch1\" >> file1 &&\n+\ttest_tick &&\n+\tgit commit -a -m \"change in branch1\" &&\n+\tgit checkout branch2 &&\n+\techo \"line 5 in branch2\" >> file1 &&\n+\ttest_tick &&\n+\tgit commit -a -m \"change in branch2\" &&\n+\tgit tag third &&\n+\tgit checkout branch3 &&\n+\techo a new file >file3 &&\n+\trm -f file1 &&\n+\tgit add file3 &&\n+\ttest_tick &&\n+\tgit commit -a -m \"change in branch3\"\n '\n \n # The next test will test the following:\n@@ -221,12 +221,12 @@ test_expect_success 'setup 3 different branches' '\n #           ----------------------------------------------------\n # file1:     X       U     B    C     --merge  C       C     C\n test_expect_success '\"reset --merge HEAD^\" is ok with pending merge' '\n-    git checkout third &&\n-    test_must_fail git merge branch1 &&\n-    git reset --merge HEAD^ &&\n-    test \"$(git rev-parse HEAD)\" = \"$(git rev-parse second)\" &&\n-    test -z \"$(git diff --cached)\" &&\n-    test -z \"$(git diff)\"\n+\tgit checkout third &&\n+\ttest_must_fail git merge branch1 &&\n+\tgit reset --merge HEAD^ &&\n+\ttest \"$(git rev-parse HEAD)\" = \"$(git rev-parse second)\" &&\n+\ttest -z \"$(git diff --cached)\" &&\n+\ttest -z \"$(git diff)\"\n '\n \n # The next test will test the following:\n@@ -235,10 +235,10 @@ test_expect_success '\"reset --merge HEAD^\" is ok with pending merge' '\n #           ----------------------------------------------------\n # file1:     X       U     B    C     --keep   (disallowed)\n test_expect_success '\"reset --keep HEAD^\" fails with pending merge' '\n-    git reset --hard third &&\n-    test_must_fail git merge branch1 &&\n-    test_must_fail git reset --keep HEAD^ 2>err.log &&\n-    test_i18ngrep \"middle of a merge\" err.log\n+\tgit reset --hard third &&\n+\ttest_must_fail git merge branch1 &&\n+\ttest_must_fail git reset --keep HEAD^ 2>err.log &&\n+\ttest_i18ngrep \"middle of a merge\" err.log\n '\n \n # The next test will test the following:\n@@ -247,12 +247,12 @@ test_expect_success '\"reset --keep HEAD^\" fails with pending merge' '\n #           ----------------------------------------------------\n # file1:     X       U     B    B     --merge  B       B     B\n test_expect_success '\"reset --merge HEAD\" is ok with pending merge' '\n-    git reset --hard third &&\n-    test_must_fail git merge branch1 &&\n-    git reset --merge HEAD &&\n-    test \"$(git rev-parse HEAD)\" = \"$(git rev-parse third)\" &&\n-    test -z \"$(git diff --cached)\" &&\n-    test -z \"$(git diff)\"\n+\tgit reset --hard third &&\n+\ttest_must_fail git merge branch1 &&\n+\tgit reset --merge HEAD &&\n+\ttest \"$(git rev-parse HEAD)\" = \"$(git rev-parse third)\" &&\n+\ttest -z \"$(git diff --cached)\" &&\n+\ttest -z \"$(git diff)\"\n '\n \n # The next test will test the following:\n@@ -261,36 +261,36 @@ test_expect_success '\"reset --merge HEAD\" is ok with pending merge' '\n #           ----------------------------------------------------\n # file1:     X       U     B    B     --keep   (disallowed)\n test_expect_success '\"reset --keep HEAD\" fails with pending merge' '\n-    git reset --hard third &&\n-    test_must_fail git merge branch1 &&\n-    test_must_fail git reset --keep HEAD 2>err.log &&\n-    test_i18ngrep \"middle of a merge\" err.log\n+\tgit reset --hard third &&\n+\ttest_must_fail git merge branch1 &&\n+\ttest_must_fail git reset --keep HEAD 2>err.log &&\n+\ttest_i18ngrep \"middle of a merge\" err.log\n '\n \n test_expect_success '--merge is ok with added/deleted merge' '\n-    git reset --hard third &&\n-    rm -f file2 &&\n-    test_must_fail git merge branch3 &&\n-    ! test -f file2 &&\n-    test -f file3 &&\n-    git diff --exit-code file3 &&\n-    git diff --exit-code branch3 file3 &&\n-    git reset --merge HEAD &&\n-    ! test -f file3 &&\n-    ! test -f file2 &&\n-    git diff --exit-code --cached\n+\tgit reset --hard third &&\n+\trm -f file2 &&\n+\ttest_must_fail git merge branch3 &&\n+\t! test -f file2 &&\n+\ttest -f file3 &&\n+\tgit diff --exit-code file3 &&\n+\tgit diff --exit-code branch3 file3 &&\n+\tgit reset --merge HEAD &&\n+\t! test -f file3 &&\n+\t! test -f file2 &&\n+\tgit diff --exit-code --cached\n '\n \n test_expect_success '--keep fails with added/deleted merge' '\n-    git reset --hard third &&\n-    rm -f file2 &&\n-    test_must_fail git merge branch3 &&\n-    ! test -f file2 &&\n-    test -f file3 &&\n-    git diff --exit-code file3 &&\n-    git diff --exit-code branch3 file3 &&\n-    test_must_fail git reset --keep HEAD 2>err.log &&\n-    test_i18ngrep \"middle of a merge\" err.log\n+\tgit reset --hard third &&\n+\trm -f file2 &&\n+\ttest_must_fail git merge branch3 &&\n+\t! test -f file2 &&\n+\ttest -f file3 &&\n+\tgit diff --exit-code file3 &&\n+\tgit diff --exit-code branch3 file3 &&\n+\ttest_must_fail git reset --keep HEAD 2>err.log &&\n+\ttest_i18ngrep \"middle of a merge\" err.log\n '\n \n test_done\n-- \ngitgitgadget\n\n"},{"id":"477624","messageId":"5c953b3d1055522e29ac40dfffe21a48dbaa1900.1684599239.git.gitgitgadget@gmail.com","threadId":"59777","inReplyTo":"pull.1514.git.git.1684599239.gitgitgadget@gmail.com","subject":"[PATCH 04/10] t7508-status: modernize test format","fromName":"John Cai via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2023-05-20T16:13:52Z","receivedAt":"2023-05-20T16:14:09Z","isPatch":true,"sender":{"key":"johncai86@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2354211?v=4"},"body":"From: John Cai <johncai86@gmail.com>\n\nSome tests still use the old format with four spaces indentation.\nStandardize the tests to the new format with tab indentation.\n\nSigned-off-by: John Cai <johncai86@gmail.com>\n---\n t/t7508-status.sh | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/t/t7508-status.sh b/t/t7508-status.sh\nindex aed07c5b622..a3050adfd07 100755\n--- a/t/t7508-status.sh\n+++ b/t/t7508-status.sh\n@@ -1519,8 +1519,8 @@ test_expect_success '\"status.branch=true\" weaker than \"--no-branch\"' '\n '\n \n test_expect_success '\"status.branch=true\" weaker than \"--porcelain\"' '\n-       git -c status.branch=true status --porcelain >actual &&\n-       test_cmp expected_nobranch actual\n+\tgit -c status.branch=true status --porcelain >actual &&\n+\ttest_cmp expected_nobranch actual\n '\n \n test_expect_success '\"status.branch=false\" same as \"--no-branch\"' '\n-- \ngitgitgadget\n\n"},{"id":"477625","messageId":"9ed2127a2595b42f45450358aecd2090d9cfea4c.1684599239.git.gitgitgadget@gmail.com","threadId":"59777","inReplyTo":"pull.1514.git.git.1684599239.gitgitgadget@gmail.com","subject":"[PATCH 02/10] t7111-reset-table: modernize test format","fromName":"John Cai via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2023-05-20T16:13:50Z","receivedAt":"2023-05-20T16:14:11Z","isPatch":true,"sender":{"key":"johncai86@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2354211?v=4"},"body":"From: John Cai <johncai86@gmail.com>\n\nSome tests still use the old format with four spaces indentation.\nStandardize the tests to the new format with tab indentation.\n\nSigned-off-by: John Cai <johncai86@gmail.com>\n---\n t/t7111-reset-table.sh | 20 ++++++++++----------\n 1 file changed, 10 insertions(+), 10 deletions(-)\n\ndiff --git a/t/t7111-reset-table.sh b/t/t7111-reset-table.sh\nindex 78f25c1c7ea..01b7c3503ca 100755\n--- a/t/t7111-reset-table.sh\n+++ b/t/t7111-reset-table.sh\n@@ -10,9 +10,9 @@ TEST_PASSES_SANITIZE_LEAK=true\n \n \n test_expect_success 'creating initial commits' '\n-    test_commit E file1 &&\n-    test_commit D file1 &&\n-    test_commit C file1\n+\ttest_commit E file1 &&\n+\ttest_commit D file1 &&\n+\ttest_commit C file1\n '\n \n while read W1 I1 H1 T opt W2 I2 H2\n@@ -74,13 +74,13 @@ B C C C keep   B C C\n EOF\n \n test_expect_success 'setting up branches to test with unmerged entries' '\n-    git reset --hard C &&\n-    git branch branch1 &&\n-    git branch branch2 &&\n-    git checkout branch1 &&\n-    test_commit B1 file1 &&\n-    git checkout branch2 &&\n-    test_commit B file1\n+\tgit reset --hard C &&\n+\tgit branch branch1 &&\n+\tgit branch branch2 &&\n+\tgit checkout branch1 &&\n+\ttest_commit B1 file1 &&\n+\tgit checkout branch2 &&\n+\ttest_commit B file1\n '\n \n while read W1 I1 H1 T opt W2 I2 H2\n-- \ngitgitgadget\n\n"},{"id":"477626","messageId":"34a3b63f05245bda86abaec4bb04b3d06d995c38.1684599239.git.gitgitgadget@gmail.com","threadId":"59777","inReplyTo":"pull.1514.git.git.1684599239.gitgitgadget@gmail.com","subject":"[PATCH 03/10] t7201-co: modernize test format","fromName":"John Cai via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2023-05-20T16:13:51Z","receivedAt":"2023-05-20T16:14:12Z","isPatch":true,"sender":{"key":"johncai86@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2354211?v=4"},"body":"From: John Cai <johncai86@gmail.com>\n\nSome tests still use the old format with four spaces indentation.\nStandardize the tests to the new format with tab indentation.\n\nSigned-off-by: John Cai <johncai86@gmail.com>\n---\n t/t7201-co.sh | 92 +++++++++++++++++++++++++--------------------------\n 1 file changed, 46 insertions(+), 46 deletions(-)\n\ndiff --git a/t/t7201-co.sh b/t/t7201-co.sh\nindex 61ad47b0c18..35b9e6ed6b5 100755\n--- a/t/t7201-co.sh\n+++ b/t/t7201-co.sh\n@@ -372,75 +372,75 @@ test_expect_success 'checkout specific path while in subdirectory' '\n '\n \n test_expect_success 'checkout w/--track sets up tracking' '\n-    git config branch.autosetupmerge false &&\n-    git checkout main &&\n-    git checkout --track -b track1 &&\n-    test \"$(git config branch.track1.remote)\" &&\n-    test \"$(git config branch.track1.merge)\"\n+\tgit config branch.autosetupmerge false &&\n+\tgit checkout main &&\n+\tgit checkout --track -b track1 &&\n+\ttest \"$(git config branch.track1.remote)\" &&\n+\ttest \"$(git config branch.track1.merge)\"\n '\n \n test_expect_success 'checkout w/autosetupmerge=always sets up tracking' '\n-    test_when_finished git config branch.autosetupmerge false &&\n-    git config branch.autosetupmerge always &&\n-    git checkout main &&\n-    git checkout -b track2 &&\n-    test \"$(git config branch.track2.remote)\" &&\n-    test \"$(git config branch.track2.merge)\"\n+\ttest_when_finished git config branch.autosetupmerge false &&\n+\tgit config branch.autosetupmerge always &&\n+\tgit checkout main &&\n+\tgit checkout -b track2 &&\n+\ttest \"$(git config branch.track2.remote)\" &&\n+\ttest \"$(git config branch.track2.merge)\"\n '\n \n test_expect_success 'checkout w/--track from non-branch HEAD fails' '\n-    git checkout main^0 &&\n-    test_must_fail git symbolic-ref HEAD &&\n-    test_must_fail git checkout --track -b track &&\n-    test_must_fail git rev-parse --verify track &&\n-    test_must_fail git symbolic-ref HEAD &&\n-    test \"z$(git rev-parse main^0)\" = \"z$(git rev-parse HEAD)\"\n+\tgit checkout main^0 &&\n+\ttest_must_fail git symbolic-ref HEAD &&\n+\ttest_must_fail git checkout --track -b track &&\n+\ttest_must_fail git rev-parse --verify track &&\n+\ttest_must_fail git symbolic-ref HEAD &&\n+\ttest \"z$(git rev-parse main^0)\" = \"z$(git rev-parse HEAD)\"\n '\n \n test_expect_success 'checkout w/--track from tag fails' '\n-    git checkout main^0 &&\n-    test_must_fail git symbolic-ref HEAD &&\n-    test_must_fail git checkout --track -b track frotz &&\n-    test_must_fail git rev-parse --verify track &&\n-    test_must_fail git symbolic-ref HEAD &&\n-    test \"z$(git rev-parse main^0)\" = \"z$(git rev-parse HEAD)\"\n+\tgit checkout main^0 &&\n+\ttest_must_fail git symbolic-ref HEAD &&\n+\ttest_must_fail git checkout --track -b track frotz &&\n+\ttest_must_fail git rev-parse --verify track &&\n+\ttest_must_fail git symbolic-ref HEAD &&\n+\ttest \"z$(git rev-parse main^0)\" = \"z$(git rev-parse HEAD)\"\n '\n \n test_expect_success 'detach a symbolic link HEAD' '\n-    git checkout main &&\n-    git config --bool core.prefersymlinkrefs yes &&\n-    git checkout side &&\n-    git checkout main &&\n-    it=$(git symbolic-ref HEAD) &&\n-    test \"z$it\" = zrefs/heads/main &&\n-    here=$(git rev-parse --verify refs/heads/main) &&\n-    git checkout side^ &&\n-    test \"z$(git rev-parse --verify refs/heads/main)\" = \"z$here\"\n+\tgit checkout main &&\n+\tgit config --bool core.prefersymlinkrefs yes &&\n+\tgit checkout side &&\n+\tgit checkout main &&\n+\tit=$(git symbolic-ref HEAD) &&\n+\ttest \"z$it\" = zrefs/heads/main &&\n+\there=$(git rev-parse --verify refs/heads/main) &&\n+\tgit checkout side^ &&\n+\ttest \"z$(git rev-parse --verify refs/heads/main)\" = \"z$here\"\n '\n \n test_expect_success 'checkout with --track fakes a sensible -b <name>' '\n-    git config remote.origin.fetch \"+refs/heads/*:refs/remotes/origin/*\" &&\n-    git update-ref refs/remotes/origin/koala/bear renamer &&\n+\tgit config remote.origin.fetch \"+refs/heads/*:refs/remotes/origin/*\" &&\n+\tgit update-ref refs/remotes/origin/koala/bear renamer &&\n \n-    git checkout --track origin/koala/bear &&\n-    test \"refs/heads/koala/bear\" = \"$(git symbolic-ref HEAD)\" &&\n-    test \"$(git rev-parse HEAD)\" = \"$(git rev-parse renamer)\" &&\n+\tgit checkout --track origin/koala/bear &&\n+\ttest \"refs/heads/koala/bear\" = \"$(git symbolic-ref HEAD)\" &&\n+\ttest \"$(git rev-parse HEAD)\" = \"$(git rev-parse renamer)\" &&\n \n-    git checkout main && git branch -D koala/bear &&\n+\tgit checkout main && git branch -D koala/bear &&\n \n-    git checkout --track refs/remotes/origin/koala/bear &&\n-    test \"refs/heads/koala/bear\" = \"$(git symbolic-ref HEAD)\" &&\n-    test \"$(git rev-parse HEAD)\" = \"$(git rev-parse renamer)\" &&\n+\tgit checkout --track refs/remotes/origin/koala/bear &&\n+\ttest \"refs/heads/koala/bear\" = \"$(git symbolic-ref HEAD)\" &&\n+\ttest \"$(git rev-parse HEAD)\" = \"$(git rev-parse renamer)\" &&\n \n-    git checkout main && git branch -D koala/bear &&\n+\tgit checkout main && git branch -D koala/bear &&\n \n-    git checkout --track remotes/origin/koala/bear &&\n-    test \"refs/heads/koala/bear\" = \"$(git symbolic-ref HEAD)\" &&\n-    test \"$(git rev-parse HEAD)\" = \"$(git rev-parse renamer)\"\n+\tgit checkout --track remotes/origin/koala/bear &&\n+\ttest \"refs/heads/koala/bear\" = \"$(git symbolic-ref HEAD)\" &&\n+\ttest \"$(git rev-parse HEAD)\" = \"$(git rev-parse renamer)\"\n '\n \n test_expect_success 'checkout with --track, but without -b, fails with too short tracked name' '\n-    test_must_fail git checkout --track renamer\n+\ttest_must_fail git checkout --track renamer\n '\n \n setup_conflicting_index () {\n-- \ngitgitgadget\n\n"},{"id":"477627","messageId":"4774e05d099234887acb210af86a7ce484b6def9.1684599239.git.gitgitgadget@gmail.com","threadId":"59777","inReplyTo":"pull.1514.git.git.1684599239.gitgitgadget@gmail.com","subject":"[PATCH 05/10] t7600-merge: modernize test format","fromName":"John Cai via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2023-05-20T16:13:53Z","receivedAt":"2023-05-20T16:14:14Z","isPatch":true,"sender":{"key":"johncai86@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2354211?v=4"},"body":"From: John Cai <johncai86@gmail.com>\n\nSome tests still use the old format with four spaces indentation.\nStandardize the tests to the new format with tab indentation.\n\nSigned-off-by: John Cai <johncai86@gmail.com>\n---\n t/t7600-merge.sh | 40 ++++++++++++++++++++--------------------\n 1 file changed, 20 insertions(+), 20 deletions(-)\n\ndiff --git a/t/t7600-merge.sh b/t/t7600-merge.sh\nindex 060e145957f..fdc607277c2 100755\n--- a/t/t7600-merge.sh\n+++ b/t/t7600-merge.sh\n@@ -639,41 +639,41 @@ test_expect_success 'merge log message' '\n test_debug 'git log --graph --decorate --oneline --all'\n \n test_expect_success 'merge c1 with c0, c2, c0, and c1' '\n-       git reset --hard c1 &&\n-       test_tick &&\n-       git merge c0 c2 c0 c1 &&\n-       verify_merge file result.1-5 &&\n-       verify_parents $c1 $c2\n+\tgit reset --hard c1 &&\n+\ttest_tick &&\n+\tgit merge c0 c2 c0 c1 &&\n+\tverify_merge file result.1-5 &&\n+\tverify_parents $c1 $c2\n '\n \n test_debug 'git log --graph --decorate --oneline --all'\n \n test_expect_success 'merge c1 with c0, c2, c0, and c1' '\n-       git reset --hard c1 &&\n-       test_tick &&\n-       git merge c0 c2 c0 c1 &&\n-       verify_merge file result.1-5 &&\n-       verify_parents $c1 $c2\n+\tgit reset --hard c1 &&\n+\ttest_tick &&\n+\tgit merge c0 c2 c0 c1 &&\n+\tverify_merge file result.1-5 &&\n+\tverify_parents $c1 $c2\n '\n \n test_debug 'git log --graph --decorate --oneline --all'\n \n test_expect_success 'merge c1 with c1 and c2' '\n-       git reset --hard c1 &&\n-       test_tick &&\n-       git merge c1 c2 &&\n-       verify_merge file result.1-5 &&\n-       verify_parents $c1 $c2\n+\tgit reset --hard c1 &&\n+\ttest_tick &&\n+\tgit merge c1 c2 &&\n+\tverify_merge file result.1-5 &&\n+\tverify_parents $c1 $c2\n '\n \n test_debug 'git log --graph --decorate --oneline --all'\n \n test_expect_success 'merge fast-forward in a dirty tree' '\n-       git reset --hard c0 &&\n-       mv file file1 &&\n-       cat file1 >file &&\n-       rm -f file1 &&\n-       git merge c2\n+\tgit reset --hard c0 &&\n+\tmv file file1 &&\n+\tcat file1 >file &&\n+\trm -f file1 &&\n+\tgit merge c2\n '\n \n test_debug 'git log --graph --decorate --oneline --all'\n-- \ngitgitgadget\n\n"},{"id":"477628","messageId":"c70af95a7998c7f0d1585cb412359d55d9ed4db6.1684599239.git.gitgitgadget@gmail.com","threadId":"59777","inReplyTo":"pull.1514.git.git.1684599239.gitgitgadget@gmail.com","subject":"[PATCH 06/10] t7700-repack: modernize test format","fromName":"John Cai via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2023-05-20T16:13:54Z","receivedAt":"2023-05-20T16:14:16Z","isPatch":true,"sender":{"key":"johncai86@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2354211?v=4"},"body":"From: John Cai <johncai86@gmail.com>\n\nSome tests still use the old format with four spaces indentation.\nStandardize the tests to the new format with tab indentation.\n\nSigned-off-by: John Cai <johncai86@gmail.com>\n---\n t/t7700-repack.sh | 10 +++++-----\n 1 file changed, 5 insertions(+), 5 deletions(-)\n\ndiff --git a/t/t7700-repack.sh b/t/t7700-repack.sh\nindex faa739eeb91..3f930fa4762 100755\n--- a/t/t7700-repack.sh\n+++ b/t/t7700-repack.sh\n@@ -460,10 +460,10 @@ test_expect_success '--write-midx -b packs non-kept objects' '\n '\n \n test_expect_success '--write-midx removes stale pack-based bitmaps' '\n-       rm -fr repo &&\n-       git init repo &&\n-       test_when_finished \"rm -fr repo\" &&\n-       (\n+\trm -fr repo &&\n+\tgit init repo &&\n+\ttest_when_finished \"rm -fr repo\" &&\n+\t(\n \t\tcd repo &&\n \t\ttest_commit base &&\n \t\tGIT_TEST_MULTI_PACK_INDEX=0 git repack -Ab &&\n@@ -477,7 +477,7 @@ test_expect_success '--write-midx removes stale pack-based bitmaps' '\n \t\ttest_path_is_file $midx &&\n \t\ttest_path_is_file $midx-$(midx_checksum $objdir).bitmap &&\n \t\ttest_path_is_missing $pack_bitmap\n-       )\n+\t)\n '\n \n test_expect_success '--write-midx with --pack-kept-objects' '\n-- \ngitgitgadget\n\n"},{"id":"477629","messageId":"86b3b91d94ec7bb8f296d69ee226cc8bb37c9300.1684599239.git.gitgitgadget@gmail.com","threadId":"59777","inReplyTo":"pull.1514.git.git.1684599239.gitgitgadget@gmail.com","subject":"[PATCH 07/10] t9100-git-svn-basic: modernize test format","fromName":"John Cai via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2023-05-20T16:13:55Z","receivedAt":"2023-05-20T16:14:17Z","isPatch":true,"sender":{"key":"johncai86@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2354211?v=4"},"body":"From: John Cai <johncai86@gmail.com>\n\nSome tests still use the old format with four spaces indentation.\nStandardize the tests to the new format with tab indentation.\n\nSigned-off-by: John Cai <johncai86@gmail.com>\n---\n t/t9100-git-svn-basic.sh | 31 +++++++++++++++----------------\n 1 file changed, 15 insertions(+), 16 deletions(-)\n\ndiff --git a/t/t9100-git-svn-basic.sh b/t/t9100-git-svn-basic.sh\nindex fea41b3c360..af28b01fefa 100755\n--- a/t/t9100-git-svn-basic.sh\n+++ b/t/t9100-git-svn-basic.sh\n@@ -21,7 +21,7 @@ test_expect_success 'git svn help works anywhere' '\n '\n \n test_expect_success \\\n-    'initialize git svn' '\n+\t'initialize git svn' '\n \tmkdir import &&\n \t(\n \t\tcd import &&\n@@ -38,9 +38,9 @@ test_expect_success \\\n \trm -rf import &&\n \tgit svn init \"$svnrepo\"'\n \n-test_expect_success \\\n-    'import an SVN revision into git' \\\n-    'git svn fetch'\n+test_expect_success 'import an SVN revision into git' '\n+\tgit svn fetch\n+'\n \n test_expect_success \"checkout from svn\" 'svn co \"$svnrepo\" \"$SVN_TREE\"'\n \n@@ -233,27 +233,26 @@ test_expect_success POSIXPERM,SYMLINKS \"$name\" '\n '\n \n test_expect_success 'exit if remote refs are ambigious' '\n-        git config --add svn-remote.svn.fetch \\\n+\tgit config --add svn-remote.svn.fetch \\\n \t\tbar:refs/remotes/git-svn &&\n \ttest_must_fail git svn migrate\n '\n \n test_expect_success 'exit if init-ing a would clobber a URL' '\n-        svnadmin create \"${PWD}/svnrepo2\" &&\n-        svn mkdir -m \"mkdir bar\" \"${svnrepo}2/bar\" &&\n-        git config --unset svn-remote.svn.fetch \\\n+\tsvnadmin create \"${PWD}/svnrepo2\" &&\n+\tsvn mkdir -m \"mkdir bar\" \"${svnrepo}2/bar\" &&\n+\tgit config --unset svn-remote.svn.fetch \\\n \t\t\"^bar:refs/remotes/git-svn$\" &&\n \ttest_must_fail git svn init \"${svnrepo}2/bar\"\n         '\n \n-test_expect_success \\\n-  'init allows us to connect to another directory in the same repo' '\n-        git svn init --minimize-url -i bar \"$svnrepo/bar\" &&\n-        git config --get svn-remote.svn.fetch \\\n-                              \"^bar:refs/remotes/bar$\" &&\n-        git config --get svn-remote.svn.fetch \\\n-\t\t\t      \"^:refs/remotes/git-svn$\"\n-        '\n+test_expect_success 'init allows us to connect to another directory in the same repo' '\n+\tgit svn init --minimize-url -i bar \"$svnrepo/bar\" &&\n+\tgit config --get svn-remote.svn.fetch \\\n+\t\t\"^bar:refs/remotes/bar$\" &&\n+\tgit config --get svn-remote.svn.fetch \\\n+\t\t\"^:refs/remotes/git-svn$\"\n+'\n \n test_expect_success 'dcommit $rev does not clobber current branch' '\n \tgit svn fetch -i bar &&\n-- \ngitgitgadget\n\n"},{"id":"477630","messageId":"5a767913a569ade7b2596e89cae887c878447a72.1684599239.git.gitgitgadget@gmail.com","threadId":"59777","inReplyTo":"pull.1514.git.git.1684599239.gitgitgadget@gmail.com","subject":"[PATCH 08/10] t9104-git-svn-follow-parent: modernize test format","fromName":"John Cai via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2023-05-20T16:13:56Z","receivedAt":"2023-05-20T16:14:20Z","isPatch":true,"sender":{"key":"johncai86@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2354211?v=4"},"body":"From: John Cai <johncai86@gmail.com>\n\nSome tests still use the old format with four spaces indentation.\nStandardize the tests to the new format with tab indentation.\n\nSigned-off-by: John Cai <johncai86@gmail.com>\n---\n t/t9104-git-svn-follow-parent.sh | 62 ++++++++++++++++----------------\n 1 file changed, 31 insertions(+), 31 deletions(-)\n\ndiff --git a/t/t9104-git-svn-follow-parent.sh b/t/t9104-git-svn-follow-parent.sh\nindex 85d735861fc..b5845e28fee 100755\n--- a/t/t9104-git-svn-follow-parent.sh\n+++ b/t/t9104-git-svn-follow-parent.sh\n@@ -41,51 +41,51 @@ test_expect_success 'init and fetch a moved directory' '\n \t'\n \n test_expect_success 'init and fetch from one svn-remote' '\n-        git config svn-remote.svn.url \"$svnrepo\" &&\n-        git config --add svn-remote.svn.fetch \\\n-          trunk:refs/remotes/svn/trunk &&\n-        git config --add svn-remote.svn.fetch \\\n-          thunk:refs/remotes/svn/thunk &&\n-        git svn fetch -i svn/thunk &&\n+\tgit config svn-remote.svn.url \"$svnrepo\" &&\n+\tgit config --add svn-remote.svn.fetch \\\n+\t\ttrunk:refs/remotes/svn/trunk &&\n+\tgit config --add svn-remote.svn.fetch \\\n+\t\tthunk:refs/remotes/svn/thunk &&\n+\tgit svn fetch -i svn/thunk &&\n \ttest \"$(git rev-parse --verify refs/remotes/svn/trunk)\" \\\n-\t   = \"$(git rev-parse --verify refs/remotes/svn/thunk~1)\" &&\n+\t\t= \"$(git rev-parse --verify refs/remotes/svn/thunk~1)\" &&\n \tgit cat-file blob refs/remotes/svn/thunk:readme >actual &&\n \ttest \"$(sed -n -e \"3p\" actual)\" = goodbye\n-        '\n+'\n \n test_expect_success 'follow deleted parent' '\n-        (svn_cmd cp -m \"resurrecting trunk as junk\" \\\n-               \"$svnrepo\"/trunk@2 \"$svnrepo\"/junk ||\n-         svn cp -m \"resurrecting trunk as junk\" \\\n-               -r2 \"$svnrepo\"/trunk \"$svnrepo\"/junk) &&\n-        git config --add svn-remote.svn.fetch \\\n-          junk:refs/remotes/svn/junk &&\n-        git svn fetch -i svn/thunk &&\n-        git svn fetch -i svn/junk &&\n+\t(svn_cmd cp -m \"resurrecting trunk as junk\" \\\n+\t\t\"$svnrepo\"/trunk@2 \"$svnrepo\"/junk ||\n+\t svn cp -m \"resurrecting trunk as junk\" \\\n+\t\t-r2 \"$svnrepo\"/trunk \"$svnrepo\"/junk) &&\n+\tgit config --add svn-remote.svn.fetch \\\n+\t\tjunk:refs/remotes/svn/junk &&\n+\tgit svn fetch -i svn/thunk &&\n+\tgit svn fetch -i svn/junk &&\n \ttest -z \"$(git diff svn/junk svn/trunk)\" &&\n \ttest \"$(git merge-base svn/junk svn/trunk)\" \\\n-\t   = \"$(git rev-parse svn/trunk)\"\n-        '\n+\t\t= \"$(git rev-parse svn/trunk)\"\n+'\n \n test_expect_success 'follow larger parent' '\n-        mkdir -p import/trunk/thunk/bump/thud &&\n-        echo hi > import/trunk/thunk/bump/thud/file &&\n-        svn import -m \"import a larger parent\" import \"$svnrepo\"/larger-parent &&\n-        svn cp -m \"hi\" \"$svnrepo\"/larger-parent \"$svnrepo\"/another-larger &&\n-        git svn init --minimize-url -i larger \\\n-\t  \"$svnrepo\"/larger-parent/trunk/thunk/bump/thud &&\n-        git svn fetch -i larger &&\n+\tmkdir -p import/trunk/thunk/bump/thud &&\n+\techo hi > import/trunk/thunk/bump/thud/file &&\n+\tsvn import -m \"import a larger parent\" import \"$svnrepo\"/larger-parent &&\n+\tsvn cp -m \"hi\" \"$svnrepo\"/larger-parent \"$svnrepo\"/another-larger &&\n+\tgit svn init --minimize-url -i larger \\\n+\t\t\"$svnrepo\"/larger-parent/trunk/thunk/bump/thud &&\n+\tgit svn fetch -i larger &&\n \tgit svn init --minimize-url -i larger-parent \\\n-\t  \"$svnrepo\"/another-larger/trunk/thunk/bump/thud &&\n+\t\t\"$svnrepo\"/another-larger/trunk/thunk/bump/thud &&\n \tgit svn fetch -i larger-parent &&\n-        git rev-parse --verify refs/remotes/larger &&\n-        git rev-parse --verify \\\n-\t   refs/remotes/larger-parent &&\n+\tgit rev-parse --verify refs/remotes/larger &&\n+\tgit rev-parse --verify \\\n+\t\trefs/remotes/larger-parent &&\n \ttest \"$(git merge-base \\\n \t\t refs/remotes/larger-parent \\\n \t\t refs/remotes/larger)\" = \\\n-\t     \"$(git rev-parse refs/remotes/larger)\"\n-        '\n+\t\t\"$(git rev-parse refs/remotes/larger)\"\n+'\n \n test_expect_success 'follow higher-level parent' '\n \tsvn mkdir -m \"follow higher-level parent\" \"$svnrepo\"/blob &&\n-- \ngitgitgadget\n\n"},{"id":"477631","messageId":"01f752d38c6fe38351410540514c1408948fe65e.1684599239.git.gitgitgadget@gmail.com","threadId":"59777","inReplyTo":"pull.1514.git.git.1684599239.gitgitgadget@gmail.com","subject":"[PATCH 09/10] t9200-git-cvsexportcommit: modernize test format","fromName":"John Cai via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2023-05-20T16:13:57Z","receivedAt":"2023-05-20T16:14:27Z","isPatch":true,"sender":{"key":"johncai86@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2354211?v=4"},"body":"From: John Cai <johncai86@gmail.com>\n\nSome tests still use the old format with four spaces indentation.\nStandardize the tests to the new format with tab indentation.\n\nSigned-off-by: John Cai <johncai86@gmail.com>\n---\n t/t9200-git-cvsexportcommit.sh | 351 ++++++++++++++++-----------------\n 1 file changed, 175 insertions(+), 176 deletions(-)\n\ndiff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh\nindex c5946cb0b8a..a44eabf0d80 100755\n--- a/t/t9200-git-cvsexportcommit.sh\n+++ b/t/t9200-git-cvsexportcommit.sh\n@@ -50,56 +50,56 @@ check_entries () {\n \tfi\n }\n \n-test_expect_success \\\n-    'New file' \\\n-    'mkdir A B C D E F &&\n-     echo hello1 >A/newfile1.txt &&\n-     echo hello2 >B/newfile2.txt &&\n-     cp \"$TEST_DIRECTORY\"/test-binary-1.png C/newfile3.png &&\n-     cp \"$TEST_DIRECTORY\"/test-binary-1.png D/newfile4.png &&\n-     git add A/newfile1.txt &&\n-     git add B/newfile2.txt &&\n-     git add C/newfile3.png &&\n-     git add D/newfile4.png &&\n-     git commit -a -m \"Test: New file\" &&\n-     id=$(git rev-list --max-count=1 HEAD) &&\n-     (cd \"$CVSWORK\" &&\n-     git cvsexportcommit -c $id &&\n-     check_entries A \"newfile1.txt/1.1/\" &&\n-     check_entries B \"newfile2.txt/1.1/\" &&\n-     check_entries C \"newfile3.png/1.1/-kb\" &&\n-     check_entries D \"newfile4.png/1.1/-kb\" &&\n-     test_cmp A/newfile1.txt ../A/newfile1.txt &&\n-     test_cmp B/newfile2.txt ../B/newfile2.txt &&\n-     test_cmp C/newfile3.png ../C/newfile3.png &&\n-     test_cmp D/newfile4.png ../D/newfile4.png\n-     )'\n+test_expect_success 'New file' '\n+\tmkdir A B C D E F &&\n+\techo hello1 >A/newfile1.txt &&\n+\techo hello2 >B/newfile2.txt &&\n+\tcp \"$TEST_DIRECTORY\"/test-binary-1.png C/newfile3.png &&\n+\tcp \"$TEST_DIRECTORY\"/test-binary-1.png D/newfile4.png &&\n+\tgit add A/newfile1.txt &&\n+\tgit add B/newfile2.txt &&\n+\tgit add C/newfile3.png &&\n+\tgit add D/newfile4.png &&\n+\tgit commit -a -m \"Test: New file\" &&\n+\tid=$(git rev-list --max-count=1 HEAD) &&\n+\t(cd \"$CVSWORK\" &&\n+\tgit cvsexportcommit -c $id &&\n+\tcheck_entries A \"newfile1.txt/1.1/\" &&\n+\tcheck_entries B \"newfile2.txt/1.1/\" &&\n+\tcheck_entries C \"newfile3.png/1.1/-kb\" &&\n+\tcheck_entries D \"newfile4.png/1.1/-kb\" &&\n+\ttest_cmp A/newfile1.txt ../A/newfile1.txt &&\n+\ttest_cmp B/newfile2.txt ../B/newfile2.txt &&\n+\ttest_cmp C/newfile3.png ../C/newfile3.png &&\n+\ttest_cmp D/newfile4.png ../D/newfile4.png\n+\t)\n+'\n \n-test_expect_success \\\n-    'Remove two files, add two and update two' \\\n-    'echo Hello1 >>A/newfile1.txt &&\n-     rm -f B/newfile2.txt &&\n-     rm -f C/newfile3.png &&\n-     echo Hello5  >E/newfile5.txt &&\n-     cp \"$TEST_DIRECTORY\"/test-binary-2.png D/newfile4.png &&\n-     cp \"$TEST_DIRECTORY\"/test-binary-1.png F/newfile6.png &&\n-     git add E/newfile5.txt &&\n-     git add F/newfile6.png &&\n-     git commit -a -m \"Test: Remove, add and update\" &&\n-     id=$(git rev-list --max-count=1 HEAD) &&\n-     (cd \"$CVSWORK\" &&\n-     git cvsexportcommit -c $id &&\n-     check_entries A \"newfile1.txt/1.2/\" &&\n-     check_entries B \"\" &&\n-     check_entries C \"\" &&\n-     check_entries D \"newfile4.png/1.2/-kb\" &&\n-     check_entries E \"newfile5.txt/1.1/\" &&\n-     check_entries F \"newfile6.png/1.1/-kb\" &&\n-     test_cmp A/newfile1.txt ../A/newfile1.txt &&\n-     test_cmp D/newfile4.png ../D/newfile4.png &&\n-     test_cmp E/newfile5.txt ../E/newfile5.txt &&\n-     test_cmp F/newfile6.png ../F/newfile6.png\n-     )'\n+test_expect_success 'Remove two files, add two and update two' '\n+\techo Hello1 >>A/newfile1.txt &&\n+\trm -f B/newfile2.txt &&\n+\trm -f C/newfile3.png &&\n+\techo Hello5  >E/newfile5.txt &&\n+\tcp \"$TEST_DIRECTORY\"/test-binary-2.png D/newfile4.png &&\n+\tcp \"$TEST_DIRECTORY\"/test-binary-1.png F/newfile6.png &&\n+\tgit add E/newfile5.txt &&\n+\tgit add F/newfile6.png &&\n+\tgit commit -a -m \"Test: Remove, add and update\" &&\n+\tid=$(git rev-list --max-count=1 HEAD) &&\n+\t(cd \"$CVSWORK\" &&\n+\tgit cvsexportcommit -c $id &&\n+\tcheck_entries A \"newfile1.txt/1.2/\" &&\n+\tcheck_entries B \"\" &&\n+\tcheck_entries C \"\" &&\n+\tcheck_entries D \"newfile4.png/1.2/-kb\" &&\n+\tcheck_entries E \"newfile5.txt/1.1/\" &&\n+\tcheck_entries F \"newfile6.png/1.1/-kb\" &&\n+\ttest_cmp A/newfile1.txt ../A/newfile1.txt &&\n+\ttest_cmp D/newfile4.png ../D/newfile4.png &&\n+\ttest_cmp E/newfile5.txt ../E/newfile5.txt &&\n+\ttest_cmp F/newfile6.png ../F/newfile6.png\n+\t)\n+'\n \n # Should fail (but only on the git cvsexportcommit stage)\n test_expect_success \\\n@@ -129,67 +129,67 @@ test_expect_success \\\n \n # This test is here because a patch for only binary files will\n # fail with gnu patch, so cvsexportcommit must handle that.\n-test_expect_success \\\n-    'Remove only binary files' \\\n-    'git reset --hard HEAD^^ &&\n-     rm -f D/newfile4.png &&\n-     git commit -a -m \"test: remove only a binary file\" &&\n-     id=$(git rev-list --max-count=1 HEAD) &&\n-     (cd \"$CVSWORK\" &&\n-     git cvsexportcommit -c $id &&\n-     check_entries A \"newfile1.txt/1.2/\" &&\n-     check_entries B \"\" &&\n-     check_entries C \"\" &&\n-     check_entries D \"\" &&\n-     check_entries E \"newfile5.txt/1.1/\" &&\n-     check_entries F \"newfile6.png/1.1/-kb\" &&\n-     test_cmp A/newfile1.txt ../A/newfile1.txt &&\n-     test_cmp E/newfile5.txt ../E/newfile5.txt &&\n-     test_cmp F/newfile6.png ../F/newfile6.png\n-     )'\n+test_expect_success 'Remove only binary files' '\n+\tgit reset --hard HEAD^^ &&\n+\trm -f D/newfile4.png &&\n+\tgit commit -a -m \"test: remove only a binary file\" &&\n+\tid=$(git rev-list --max-count=1 HEAD) &&\n+\t(cd \"$CVSWORK\" &&\n+\tgit cvsexportcommit -c $id &&\n+\tcheck_entries A \"newfile1.txt/1.2/\" &&\n+\tcheck_entries B \"\" &&\n+\tcheck_entries C \"\" &&\n+\tcheck_entries D \"\" &&\n+\tcheck_entries E \"newfile5.txt/1.1/\" &&\n+\tcheck_entries F \"newfile6.png/1.1/-kb\" &&\n+\ttest_cmp A/newfile1.txt ../A/newfile1.txt &&\n+\ttest_cmp E/newfile5.txt ../E/newfile5.txt &&\n+\ttest_cmp F/newfile6.png ../F/newfile6.png\n+\t)\n+'\n \n-test_expect_success \\\n-    'Remove only a text file' \\\n-    'rm -f A/newfile1.txt &&\n-     git commit -a -m \"test: remove only a binary file\" &&\n-     id=$(git rev-list --max-count=1 HEAD) &&\n-     (cd \"$CVSWORK\" &&\n-     git cvsexportcommit -c $id &&\n-     check_entries A \"\" &&\n-     check_entries B \"\" &&\n-     check_entries C \"\" &&\n-     check_entries D \"\" &&\n-     check_entries E \"newfile5.txt/1.1/\" &&\n-     check_entries F \"newfile6.png/1.1/-kb\" &&\n-     test_cmp E/newfile5.txt ../E/newfile5.txt &&\n-     test_cmp F/newfile6.png ../F/newfile6.png\n-     )'\n+test_expect_success 'Remove only a text file' '\n+\trm -f A/newfile1.txt &&\n+\tgit commit -a -m \"test: remove only a binary file\" &&\n+\tid=$(git rev-list --max-count=1 HEAD) &&\n+\t(cd \"$CVSWORK\" &&\n+\tgit cvsexportcommit -c $id &&\n+\tcheck_entries A \"\" &&\n+\tcheck_entries B \"\" &&\n+\tcheck_entries C \"\" &&\n+\tcheck_entries D \"\" &&\n+\tcheck_entries E \"newfile5.txt/1.1/\" &&\n+\tcheck_entries F \"newfile6.png/1.1/-kb\" &&\n+\ttest_cmp E/newfile5.txt ../E/newfile5.txt &&\n+\ttest_cmp F/newfile6.png ../F/newfile6.png\n+\t)\n+'\n \n-test_expect_success \\\n-     'New file with spaces in file name' \\\n-     'mkdir \"G g\" &&\n-      echo ok then >\"G g/with spaces.txt\" &&\n-      git add \"G g/with spaces.txt\" && \\\n-      cp \"$TEST_DIRECTORY\"/test-binary-1.png \"G g/with spaces.png\" && \\\n-      git add \"G g/with spaces.png\" &&\n-      git commit -a -m \"With spaces\" &&\n-      id=$(git rev-list --max-count=1 HEAD) &&\n-      (cd \"$CVSWORK\" &&\n-      git cvsexportcommit -c $id &&\n-      check_entries \"G g\" \"with spaces.png/1.1/-kb|with spaces.txt/1.1/\"\n-      )'\n+test_expect_success 'New file with spaces in file name' '\n+\tmkdir \"G g\" &&\n+\techo ok then >\"G g/with spaces.txt\" &&\n+\tgit add \"G g/with spaces.txt\" && \\\n+\tcp \"$TEST_DIRECTORY\"/test-binary-1.png \"G g/with spaces.png\" && \\\n+\tgit add \"G g/with spaces.png\" &&\n+\tgit commit -a -m \"With spaces\" &&\n+\tid=$(git rev-list --max-count=1 HEAD) &&\n+\t(cd \"$CVSWORK\" &&\n+\tgit cvsexportcommit -c $id &&\n+\tcheck_entries \"G g\" \"with spaces.png/1.1/-kb|with spaces.txt/1.1/\"\n+\t)\n+'\n \n-test_expect_success \\\n-     'Update file with spaces in file name' \\\n-     'echo Ok then >>\"G g/with spaces.txt\" &&\n-      cat \"$TEST_DIRECTORY\"/test-binary-1.png >>\"G g/with spaces.png\" && \\\n-      git add \"G g/with spaces.png\" &&\n-      git commit -a -m \"Update with spaces\" &&\n-      id=$(git rev-list --max-count=1 HEAD) &&\n-      (cd \"$CVSWORK\" &&\n-      git cvsexportcommit -c $id &&\n-      check_entries \"G g\" \"with spaces.png/1.2/-kb|with spaces.txt/1.2/\"\n-      )'\n+test_expect_success 'Update file with spaces in file name' '\n+\techo Ok then >>\"G g/with spaces.txt\" &&\n+\tcat \"$TEST_DIRECTORY\"/test-binary-1.png >>\"G g/with spaces.png\" && \\\n+\tgit add \"G g/with spaces.png\" &&\n+\tgit commit -a -m \"Update with spaces\" &&\n+\tid=$(git rev-list --max-count=1 HEAD) &&\n+\t(cd \"$CVSWORK\" &&\n+\tgit cvsexportcommit -c $id &&\n+\tcheck_entries \"G g\" \"with spaces.png/1.2/-kb|with spaces.txt/1.2/\"\n+\t)\n+'\n \n # Some filesystems mangle pathnames with UTF-8 characters --\n # check and skip\n@@ -202,68 +202,68 @@ if p=\"Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö\" &&\n then\n \n # This test contains UTF-8 characters\n-test_expect_success !MINGW \\\n-     'File with non-ascii file name' \\\n-     'mkdir -p Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö &&\n-      echo Foo >Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö/gårdetsågårdet.txt &&\n-      git add Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö/gårdetsågårdet.txt &&\n-      cp \"$TEST_DIRECTORY\"/test-binary-1.png Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö/gårdetsågårdet.png &&\n-      git add Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö/gårdetsågårdet.png &&\n-      git commit -a -m \"Går det så går det\" && \\\n-      id=$(git rev-list --max-count=1 HEAD) &&\n-      (cd \"$CVSWORK\" &&\n-      git cvsexportcommit -v -c $id &&\n-      check_entries \\\n-      \"Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö\" \\\n-      \"gårdetsågårdet.png/1.1/-kb|gårdetsågårdet.txt/1.1/\"\n-      )'\n+test_expect_success !MINGW 'File with non-ascii file name' '\n+\tmkdir -p Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö &&\n+\techo Foo >Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö/gårdetsågårdet.txt &&\n+\tgit add Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö/gårdetsågårdet.txt &&\n+\tcp \"$TEST_DIRECTORY\"/test-binary-1.png Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö/gårdetsågårdet.png &&\n+\tgit add Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö/gårdetsågårdet.png &&\n+\tgit commit -a -m \"Går det så går det\" && \\\n+\tid=$(git rev-list --max-count=1 HEAD) &&\n+\t(cd \"$CVSWORK\" &&\n+\tgit cvsexportcommit -v -c $id &&\n+\tcheck_entries \\\n+\t\"Å/goo/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/å/ä/ö\" \\\n+\t\"gårdetsågårdet.png/1.1/-kb|gårdetsågårdet.txt/1.1/\"\n+\t)\n+'\n \n fi\n \n rm -fr tst\n \n-test_expect_success \\\n-     'Mismatching patch should fail' \\\n-     'date >>\"E/newfile5.txt\" &&\n-      git add \"E/newfile5.txt\" &&\n-      git commit -a -m \"Update one\" &&\n-      date >>\"E/newfile5.txt\" &&\n-      git add \"E/newfile5.txt\" &&\n-      git commit -a -m \"Update two\" &&\n-      id=$(git rev-list --max-count=1 HEAD) &&\n-      (cd \"$CVSWORK\" &&\n-      test_must_fail git cvsexportcommit -c $id\n-      )'\n-\n-test_expect_success FILEMODE \\\n-     'Retain execute bit' \\\n-     'mkdir G &&\n-      echo executeon >G/on &&\n-      chmod +x G/on &&\n-      echo executeoff >G/off &&\n-      git add G/on &&\n-      git add G/off &&\n-      git commit -a -m \"Execute test\" &&\n-      (cd \"$CVSWORK\" &&\n-      git cvsexportcommit -c HEAD &&\n-      test -x G/on &&\n-      ! test -x G/off\n-      )'\n+test_expect_success 'Mismatching patch should fail' '\n+\tdate >>\"E/newfile5.txt\" &&\n+\tgit add \"E/newfile5.txt\" &&\n+\tgit commit -a -m \"Update one\" &&\n+\tdate >>\"E/newfile5.txt\" &&\n+\tgit add \"E/newfile5.txt\" &&\n+\tgit commit -a -m \"Update two\" &&\n+\tid=$(git rev-list --max-count=1 HEAD) &&\n+\t(cd \"$CVSWORK\" &&\n+\ttest_must_fail git cvsexportcommit -c $id\n+\t)\n+'\n+\n+test_expect_success FILEMODE 'Retain execute bit' '\n+\tmkdir G &&\n+\techo executeon >G/on &&\n+\tchmod +x G/on &&\n+\techo executeoff >G/off &&\n+\tgit add G/on &&\n+\tgit add G/off &&\n+\tgit commit -a -m \"Execute test\" &&\n+\t(cd \"$CVSWORK\" &&\n+\tgit cvsexportcommit -c HEAD &&\n+\ttest -x G/on &&\n+\t! test -x G/off\n+\t)\n+'\n \n test_expect_success '-w option should work with relative GIT_DIR' '\n-      mkdir W &&\n-      echo foobar >W/file1.txt &&\n-      echo bazzle >W/file2.txt &&\n-      git add W/file1.txt &&\n-      git add W/file2.txt &&\n-      git commit -m \"More updates\" &&\n-      id=$(git rev-list --max-count=1 HEAD) &&\n-      (cd \"$GIT_DIR\" &&\n-      GIT_DIR=. git cvsexportcommit -w \"$CVSWORK\" -c $id &&\n-      check_entries \"$CVSWORK/W\" \"file1.txt/1.1/|file2.txt/1.1/\" &&\n-      test_cmp \"$CVSWORK/W/file1.txt\" ../W/file1.txt &&\n-      test_cmp \"$CVSWORK/W/file2.txt\" ../W/file2.txt\n-      )\n+\tmkdir W &&\n+\techo foobar >W/file1.txt &&\n+\techo bazzle >W/file2.txt &&\n+\tgit add W/file1.txt &&\n+\tgit add W/file2.txt &&\n+\tgit commit -m \"More updates\" &&\n+\tid=$(git rev-list --max-count=1 HEAD) &&\n+\t(cd \"$GIT_DIR\" &&\n+\tGIT_DIR=. git cvsexportcommit -w \"$CVSWORK\" -c $id &&\n+\tcheck_entries \"$CVSWORK/W\" \"file1.txt/1.1/|file2.txt/1.1/\" &&\n+\ttest_cmp \"$CVSWORK/W/file1.txt\" ../W/file1.txt &&\n+\ttest_cmp \"$CVSWORK/W/file2.txt\" ../W/file2.txt\n+\t)\n '\n \n test_expect_success 'check files before directories' '\n@@ -290,21 +290,20 @@ test_expect_success 'check files before directories' '\n '\n \n test_expect_success 're-commit a removed filename which remains in CVS attic' '\n-\n-    (cd \"$CVSWORK\" &&\n-     echo >attic_gremlin &&\n-     cvs -Q add attic_gremlin &&\n-     cvs -Q ci -m \"added attic_gremlin\" &&\n-     rm attic_gremlin &&\n-     cvs -Q rm attic_gremlin &&\n-     cvs -Q ci -m \"removed attic_gremlin\") &&\n-\n-    echo > attic_gremlin &&\n-    git add attic_gremlin &&\n-    git commit -m \"Added attic_gremlin\" &&\n+\t(cd \"$CVSWORK\" &&\n+\techo >attic_gremlin &&\n+\tcvs -Q add attic_gremlin &&\n+\tcvs -Q ci -m \"added attic_gremlin\" &&\n+\trm attic_gremlin &&\n+\tcvs -Q rm attic_gremlin &&\n+\tcvs -Q ci -m \"removed attic_gremlin\") &&\n+\n+\techo > attic_gremlin &&\n+\tgit add attic_gremlin &&\n+\tgit commit -m \"Added attic_gremlin\" &&\n \tgit cvsexportcommit -w \"$CVSWORK\" -c HEAD &&\n-    (cd \"$CVSWORK\" && cvs -Q update -d) &&\n-    test -f \"$CVSWORK/attic_gremlin\"\n+\t(cd \"$CVSWORK\" && cvs -Q update -d) &&\n+\ttest -f \"$CVSWORK/attic_gremlin\"\n '\n \n # the state of the CVS sandbox may be indeterminate for ' space'\n-- \ngitgitgadget\n\n"},{"id":"477632","messageId":"c324ec087fb6d31b19b57c1dce5aa72c5ae6c9e4.1684599239.git.gitgitgadget@gmail.com","threadId":"59777","inReplyTo":"pull.1514.git.git.1684599239.gitgitgadget@gmail.com","subject":"[PATCH 10/10] t9400-git-cvsserver-server: modernize test format","fromName":"John Cai via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2023-05-20T16:13:58Z","receivedAt":"2023-05-20T16:14:30Z","isPatch":true,"sender":{"key":"johncai86@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2354211?v=4"},"body":"From: John Cai <johncai86@gmail.com>\n\nSome tests still use the old format with four spaces indentation.\nStandardize the tests to the new format with tab indentation.\n\nSigned-off-by: John Cai <johncai86@gmail.com>\n---\n t/t9400-git-cvsserver-server.sh | 530 +++++++++++++++++---------------\n 1 file changed, 278 insertions(+), 252 deletions(-)\n\ndiff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh\nindex 379b19f2f85..003c0b61d0f 100755\n--- a/t/t9400-git-cvsserver-server.sh\n+++ b/t/t9400-git-cvsserver-server.sh\n@@ -66,10 +66,11 @@ test_expect_success 'setup' '\n \n # note that cvs doesn't accept absolute pathnames\n # as argument to co -d\n-test_expect_success 'basic checkout' \\\n-  'GIT_CONFIG=\"$git_config\" cvs -Q co -d cvswork main &&\n-   test \"$(echo $(grep -v ^D cvswork/CVS/Entries|cut -d/ -f2,3,5 | head -n 1))\" = \"empty/1.1/\" &&\n-   test \"$(echo $(grep -v ^D cvswork/CVS/Entries|cut -d/ -f2,3,5 | sed -ne \\$p))\" = \"secondrootfile/1.1/\"'\n+test_expect_success 'basic checkout' '\n+\tGIT_CONFIG=\"$git_config\" cvs -Q co -d cvswork main &&\n+\ttest \"$(echo $(grep -v ^D cvswork/CVS/Entries|cut -d/ -f2,3,5 | head -n 1))\" = \"empty/1.1/\" &&\n+\ttest \"$(echo $(grep -v ^D cvswork/CVS/Entries|cut -d/ -f2,3,5 | sed -ne \\$p))\" = \"secondrootfile/1.1/\"\n+'\n \n #------------------------\n # PSERVER AUTHENTICATION\n@@ -115,35 +116,40 @@ Ah<Z:yZZ30 e\n END VERIFICATION REQUEST\n EOF\n \n-test_expect_success 'pserver authentication' \\\n-  'cat request-anonymous | git-cvsserver pserver >log 2>&1 &&\n-   sed -ne \\$p log | grep \"^I LOVE YOU\\$\"'\n+test_expect_success 'pserver authentication' '\n+\tcat request-anonymous | git-cvsserver pserver >log 2>&1 &&\n+\tsed -ne \\$p log | grep \"^I LOVE YOU\\$\"\n+'\n \n-test_expect_success 'pserver authentication failure (non-anonymous user)' \\\n-  'if cat request-git | git-cvsserver pserver >log 2>&1\n-   then\n-       false\n-   else\n-       true\n-   fi &&\n-   sed -ne \\$p log | grep \"^I HATE YOU\\$\"'\n+test_expect_success 'pserver authentication failure (non-anonymous user)' '\n+\tif cat request-git | git-cvsserver pserver >log 2>&1\n+\tthen\n+\t    false\n+\telse\n+\t    true\n+\tfi &&\n+\tsed -ne \\$p log | grep \"^I HATE YOU\\$\"\n+'\n \n-test_expect_success 'pserver authentication success (non-anonymous user with password)' \\\n-  'cat login-git-ok | git-cvsserver pserver >log 2>&1 &&\n-   sed -ne \\$p log | grep \"^I LOVE YOU\\$\"'\n+test_expect_success 'pserver authentication success (non-anonymous user with password)' '\n+\tcat login-git-ok | git-cvsserver pserver >log 2>&1 &&\n+\tsed -ne \\$p log | grep \"^I LOVE YOU\\$\"\n+'\n \n-test_expect_success 'pserver authentication (login)' \\\n-  'cat login-anonymous | git-cvsserver pserver >log 2>&1 &&\n-   sed -ne \\$p log | grep \"^I LOVE YOU\\$\"'\n+test_expect_success 'pserver authentication (login)' '\n+\tcat login-anonymous | git-cvsserver pserver >log 2>&1 &&\n+\tsed -ne \\$p log | grep \"^I LOVE YOU\\$\"\n+'\n \n-test_expect_success 'pserver authentication failure (login/non-anonymous user)' \\\n-  'if cat login-git | git-cvsserver pserver >log 2>&1\n-   then\n-       false\n-   else\n-       true\n-   fi &&\n-   sed -ne \\$p log | grep \"^I HATE YOU\\$\"'\n+test_expect_success 'pserver authentication failure (login/non-anonymous user)' '\n+\tif cat login-git | git-cvsserver pserver >log 2>&1\n+\tthen\n+\t    false\n+\telse\n+\t    true\n+\tfi &&\n+\tsed -ne \\$p log | grep \"^I HATE YOU\\$\"\n+'\n \n \n # misuse pserver authentication for testing of req_Root\n@@ -165,36 +171,40 @@ END AUTH REQUEST\n Root $WORKDIR\n EOF\n \n-test_expect_success 'req_Root failure (relative pathname)' \\\n-  'if cat request-relative | git-cvsserver pserver >log 2>&1\n-   then\n-       echo unexpected success\n-       false\n-   else\n-       true\n-   fi &&\n-   tail log | grep \"^error 1 Root must be an absolute pathname$\"'\n+test_expect_success 'req_Root failure (relative pathname)' '\n+\tif cat request-relative | git-cvsserver pserver >log 2>&1\n+\tthen\n+\t\techo unexpected success\n+\t\tfalse\n+\telse\n+\t\ttrue\n+\tfi &&\n+\ttail log | grep \"^error 1 Root must be an absolute pathname$\"\n+'\n \n-test_expect_success 'req_Root failure (conflicting roots)' \\\n-  'cat request-conflict | git-cvsserver pserver >log 2>&1 &&\n-   tail log | grep \"^error 1 Conflicting roots specified$\"'\n+test_expect_success 'req_Root failure (conflicting roots)' '\n+\tcat request-conflict | git-cvsserver pserver >log 2>&1 &&\n+\ttail log | grep \"^error 1 Conflicting roots specified$\"\n+'\n \n-test_expect_success 'req_Root (strict paths)' \\\n-  'cat request-anonymous | git-cvsserver --strict-paths pserver \"$SERVERDIR\" >log 2>&1 &&\n-   sed -ne \\$p log | grep \"^I LOVE YOU\\$\"'\n+test_expect_success 'req_Root (strict paths)' '\n+\tcat request-anonymous | git-cvsserver --strict-paths pserver \"$SERVERDIR\" >log 2>&1 &&\n+\tsed -ne \\$p log | grep \"^I LOVE YOU\\$\"\n+'\n \n test_expect_success 'req_Root failure (strict-paths)' '\n-    ! cat request-anonymous |\n-    git-cvsserver --strict-paths pserver \"$WORKDIR\" >log 2>&1\n+\t! cat request-anonymous |\n+\tgit-cvsserver --strict-paths pserver \"$WORKDIR\" >log 2>&1\n '\n \n-test_expect_success 'req_Root (w/o strict-paths)' \\\n-  'cat request-anonymous | git-cvsserver pserver \"$WORKDIR/\" >log 2>&1 &&\n-   sed -ne \\$p log | grep \"^I LOVE YOU\\$\"'\n+test_expect_success 'req_Root (w/o strict-paths)' '\n+\tcat request-anonymous | git-cvsserver pserver \"$WORKDIR/\" >log 2>&1 &&\n+\tsed -ne \\$p log | grep \"^I LOVE YOU\\$\"\n+'\n \n test_expect_success 'req_Root failure (w/o strict-paths)' '\n-    ! cat request-anonymous |\n-    git-cvsserver pserver \"$WORKDIR/gitcvs\" >log 2>&1\n+\t! cat request-anonymous |\n+\tgit-cvsserver pserver \"$WORKDIR/gitcvs\" >log 2>&1\n '\n \n cat >request-base  <<EOF\n@@ -206,27 +216,30 @@ END AUTH REQUEST\n Root /gitcvs.git\n EOF\n \n-test_expect_success 'req_Root (base-path)' \\\n-  'cat request-base | git-cvsserver --strict-paths --base-path \"$WORKDIR/\" pserver \"$SERVERDIR\" >log 2>&1 &&\n-   sed -ne \\$p log | grep \"^I LOVE YOU\\$\"'\n+test_expect_success 'req_Root (base-path)' '\n+\tcat request-base | git-cvsserver --strict-paths --base-path \"$WORKDIR/\" pserver \"$SERVERDIR\" >log 2>&1 &&\n+\tsed -ne \\$p log | grep \"^I LOVE YOU\\$\"\n+'\n \n test_expect_success 'req_Root failure (base-path)' '\n-    ! cat request-anonymous |\n-    git-cvsserver --strict-paths --base-path \"$WORKDIR\" pserver \"$SERVERDIR\" >log 2>&1\n+\t! cat request-anonymous |\n+\tgit-cvsserver --strict-paths --base-path \"$WORKDIR\" pserver \"$SERVERDIR\" >log 2>&1\n '\n \n GIT_DIR=\"$SERVERDIR\" git config --bool gitcvs.enabled false || exit 1\n \n-test_expect_success 'req_Root (export-all)' \\\n-  'cat request-anonymous | git-cvsserver --export-all pserver \"$WORKDIR\" >log 2>&1 &&\n-   sed -ne \\$p log | grep \"^I LOVE YOU\\$\"'\n+test_expect_success 'req_Root (export-all)' '\n+\tcat request-anonymous | git-cvsserver --export-all pserver \"$WORKDIR\" >log 2>&1 &&\n+\tsed -ne \\$p log | grep \"^I LOVE YOU\\$\"\n+'\n \n-test_expect_success 'req_Root failure (export-all w/o directory list)' \\\n-  '! (cat request-anonymous | git-cvsserver --export-all pserver >log 2>&1 || false)'\n+test_expect_success 'req_Root failure (export-all w/o directory list)' '\n+\t! (cat request-anonymous | git-cvsserver --export-all pserver >log 2>&1 || false)'\n \n-test_expect_success 'req_Root (everything together)' \\\n-  'cat request-base | git-cvsserver --export-all --strict-paths --base-path \"$WORKDIR/\" pserver \"$SERVERDIR\" >log 2>&1 &&\n-   sed -ne \\$p log | grep \"^I LOVE YOU\\$\"'\n+test_expect_success 'req_Root (everything together)' '\n+\tcat request-base | git-cvsserver --export-all --strict-paths --base-path \"$WORKDIR/\" pserver \"$SERVERDIR\" >log 2>&1 &&\n+\tsed -ne \\$p log | grep \"^I LOVE YOU\\$\"\n+'\n \n GIT_DIR=\"$SERVERDIR\" git config --bool gitcvs.enabled true || exit 1\n \n@@ -247,45 +260,49 @@ test_expect_success 'gitcvs.enabled = false' \\\n    test ! -d cvswork2'\n \n rm -fr cvswork2\n-test_expect_success 'gitcvs.ext.enabled = true' \\\n-  'GIT_DIR=\"$SERVERDIR\" git config --bool gitcvs.ext.enabled true &&\n-   GIT_DIR=\"$SERVERDIR\" git config --bool gitcvs.enabled false &&\n-   GIT_CONFIG=\"$git_config\" cvs -Q co -d cvswork2 main >cvs.log 2>&1 &&\n-   test_cmp cvswork cvswork2'\n+test_expect_success 'gitcvs.ext.enabled = true' '\n+\tGIT_DIR=\"$SERVERDIR\" git config --bool gitcvs.ext.enabled true &&\n+\tGIT_DIR=\"$SERVERDIR\" git config --bool gitcvs.enabled false &&\n+\tGIT_CONFIG=\"$git_config\" cvs -Q co -d cvswork2 main >cvs.log 2>&1 &&\n+\ttest_cmp cvswork cvswork2\n+'\n \n rm -fr cvswork2\n-test_expect_success 'gitcvs.ext.enabled = false' \\\n-  'GIT_DIR=\"$SERVERDIR\" git config --bool gitcvs.ext.enabled false &&\n-   GIT_DIR=\"$SERVERDIR\" git config --bool gitcvs.enabled true &&\n-   if GIT_CONFIG=\"$git_config\" cvs -Q co -d cvswork2 main >cvs.log 2>&1\n-   then\n-     echo unexpected cvs success\n-     false\n-   else\n-     true\n-   fi &&\n-   grep \"GITCVS emulation disabled\" cvs.log &&\n-   test ! -d cvswork2'\n+test_expect_success 'gitcvs.ext.enabled = false' '\n+\tGIT_DIR=\"$SERVERDIR\" git config --bool gitcvs.ext.enabled false &&\n+\tGIT_DIR=\"$SERVERDIR\" git config --bool gitcvs.enabled true &&\n+\tif GIT_CONFIG=\"$git_config\" cvs -Q co -d cvswork2 main >cvs.log 2>&1\n+\tthen\n+\t\techo unexpected cvs success\n+\t\tfalse\n+\telse\n+\t\ttrue\n+\tfi &&\n+\tgrep \"GITCVS emulation disabled\" cvs.log &&\n+\ttest ! -d cvswork2\n+'\n \n rm -fr cvswork2\n-test_expect_success 'gitcvs.dbname' \\\n-  'GIT_DIR=\"$SERVERDIR\" git config --bool gitcvs.ext.enabled true &&\n-   GIT_DIR=\"$SERVERDIR\" git config gitcvs.dbname %Ggitcvs.%a.%m.sqlite &&\n-   GIT_CONFIG=\"$git_config\" cvs -Q co -d cvswork2 main >cvs.log 2>&1 &&\n-   test_cmp cvswork cvswork2 &&\n-   test -f \"$SERVERDIR/gitcvs.ext.main.sqlite\" &&\n-   cmp \"$SERVERDIR/gitcvs.main.sqlite\" \"$SERVERDIR/gitcvs.ext.main.sqlite\"'\n+test_expect_success 'gitcvs.dbname' '\n+\tGIT_DIR=\"$SERVERDIR\" git config --bool gitcvs.ext.enabled true &&\n+\tGIT_DIR=\"$SERVERDIR\" git config gitcvs.dbname %Ggitcvs.%a.%m.sqlite &&\n+\tGIT_CONFIG=\"$git_config\" cvs -Q co -d cvswork2 main >cvs.log 2>&1 &&\n+\ttest_cmp cvswork cvswork2 &&\n+\ttest -f \"$SERVERDIR/gitcvs.ext.main.sqlite\" &&\n+\tcmp \"$SERVERDIR/gitcvs.main.sqlite\" \"$SERVERDIR/gitcvs.ext.main.sqlite\"\n+'\n \n rm -fr cvswork2\n-test_expect_success 'gitcvs.ext.dbname' \\\n-  'GIT_DIR=\"$SERVERDIR\" git config --bool gitcvs.ext.enabled true &&\n-   GIT_DIR=\"$SERVERDIR\" git config gitcvs.ext.dbname %Ggitcvs1.%a.%m.sqlite &&\n-   GIT_DIR=\"$SERVERDIR\" git config gitcvs.dbname %Ggitcvs2.%a.%m.sqlite &&\n-   GIT_CONFIG=\"$git_config\" cvs -Q co -d cvswork2 main >cvs.log 2>&1 &&\n-   test_cmp cvswork cvswork2 &&\n-   test -f \"$SERVERDIR/gitcvs1.ext.main.sqlite\" &&\n-   test ! -f \"$SERVERDIR/gitcvs2.ext.main.sqlite\" &&\n-   cmp \"$SERVERDIR/gitcvs.main.sqlite\" \"$SERVERDIR/gitcvs1.ext.main.sqlite\"'\n+test_expect_success 'gitcvs.ext.dbname' '\n+\tGIT_DIR=\"$SERVERDIR\" git config --bool gitcvs.ext.enabled true &&\n+\tGIT_DIR=\"$SERVERDIR\" git config gitcvs.ext.dbname %Ggitcvs1.%a.%m.sqlite &&\n+\tGIT_DIR=\"$SERVERDIR\" git config gitcvs.dbname %Ggitcvs2.%a.%m.sqlite &&\n+\tGIT_CONFIG=\"$git_config\" cvs -Q co -d cvswork2 main >cvs.log 2>&1 &&\n+\ttest_cmp cvswork cvswork2 &&\n+\ttest -f \"$SERVERDIR/gitcvs1.ext.main.sqlite\" &&\n+\ttest ! -f \"$SERVERDIR/gitcvs2.ext.main.sqlite\" &&\n+\tcmp \"$SERVERDIR/gitcvs.main.sqlite\" \"$SERVERDIR/gitcvs1.ext.main.sqlite\"\n+'\n \n \n #------------\n@@ -299,109 +316,115 @@ GIT_DIR=\"$SERVERDIR\" git config --bool gitcvs.enabled true &&\n GIT_DIR=\"$SERVERDIR\" git config gitcvs.logfile \"$SERVERDIR/gitcvs.log\" ||\n exit 1\n \n-test_expect_success 'cvs update (create new file)' \\\n-  'echo testfile1 >testfile1 &&\n-   git add testfile1 &&\n-   git commit -q -m \"Add testfile1\" &&\n-   git push gitcvs.git >/dev/null &&\n-   cd cvswork &&\n-   GIT_CONFIG=\"$git_config\" cvs -Q update &&\n-   test \"$(echo $(grep testfile1 CVS/Entries|cut -d/ -f2,3,5))\" = \"testfile1/1.1/\" &&\n-   test_cmp testfile1 ../testfile1'\n+test_expect_success 'cvs update (create new file)' '\n+\techo testfile1 >testfile1 &&\n+\tgit add testfile1 &&\n+\tgit commit -q -m \"Add testfile1\" &&\n+\tgit push gitcvs.git >/dev/null &&\n+\tcd cvswork &&\n+\tGIT_CONFIG=\"$git_config\" cvs -Q update &&\n+\ttest \"$(echo $(grep testfile1 CVS/Entries|cut -d/ -f2,3,5))\" = \"testfile1/1.1/\" &&\n+\ttest_cmp testfile1 ../testfile1\n+'\n \n cd \"$WORKDIR\"\n-test_expect_success 'cvs update (update existing file)' \\\n-  'echo line 2 >>testfile1 &&\n-   git add testfile1 &&\n-   git commit -q -m \"Append to testfile1\" &&\n-   git push gitcvs.git >/dev/null &&\n-   cd cvswork &&\n-   GIT_CONFIG=\"$git_config\" cvs -Q update &&\n-   test \"$(echo $(grep testfile1 CVS/Entries|cut -d/ -f2,3,5))\" = \"testfile1/1.2/\" &&\n-   test_cmp testfile1 ../testfile1'\n+test_expect_success 'cvs update (update existing file)' '\n+\techo line 2 >>testfile1 &&\n+\tgit add testfile1 &&\n+\tgit commit -q -m \"Append to testfile1\" &&\n+\tgit push gitcvs.git >/dev/null &&\n+\tcd cvswork &&\n+\tGIT_CONFIG=\"$git_config\" cvs -Q update &&\n+\ttest \"$(echo $(grep testfile1 CVS/Entries|cut -d/ -f2,3,5))\" = \"testfile1/1.2/\" &&\n+\ttest_cmp testfile1 ../testfile1\n+'\n \n cd \"$WORKDIR\"\n #TODO: cvsserver doesn't support update w/o -d\n test_expect_failure \"cvs update w/o -d doesn't create subdir (TODO)\" '\n-   mkdir test &&\n-   echo >test/empty &&\n-   git add test &&\n-   git commit -q -m \"Single Subdirectory\" &&\n-   git push gitcvs.git >/dev/null &&\n-   cd cvswork &&\n-   GIT_CONFIG=\"$git_config\" cvs -Q update &&\n-   test ! -d test\n+\tmkdir test &&\n+\techo >test/empty &&\n+\tgit add test &&\n+\tgit commit -q -m \"Single Subdirectory\" &&\n+\tgit push gitcvs.git >/dev/null &&\n+\tcd cvswork &&\n+\tGIT_CONFIG=\"$git_config\" cvs -Q update &&\n+\ttest ! -d test\n '\n \n cd \"$WORKDIR\"\n-test_expect_success 'cvs update (subdirectories)' \\\n-  '(for dir in A A/B A/B/C A/D E; do\n-      mkdir $dir &&\n-      echo \"test file in $dir\" >\"$dir/file_in_$(echo $dir|sed -e \"s#/# #g\")\"  &&\n-      git add $dir || exit 1\n-   done) &&\n-   git commit -q -m \"deep sub directory structure\" &&\n-   git push gitcvs.git >/dev/null &&\n-   cd cvswork &&\n-   GIT_CONFIG=\"$git_config\" cvs -Q update -d &&\n-   (for dir in A A/B A/B/C A/D E; do\n-      filename=\"file_in_$(echo $dir|sed -e \"s#/# #g\")\" &&\n-      if test \"$(echo $(grep -v ^D $dir/CVS/Entries|cut -d/ -f2,3,5))\" = \"$filename/1.1/\" &&\n-\ttest_cmp \"$dir/$filename\" \"../$dir/$filename\"; then\n-        :\n-      else\n-\texit 1\n-      fi\n-    done)'\n+test_expect_success 'cvs update (subdirectories)' '\n+\t(for dir in A A/B A/B/C A/D E; do\n+\t\tmkdir $dir &&\n+\t\techo \"test file in $dir\" >\"$dir/file_in_$(echo $dir|sed -e \"s#/# #g\")\"  &&\n+\t\tgit add $dir || exit 1\n+\tdone) &&\n+\tgit commit -q -m \"deep sub directory structure\" &&\n+\tgit push gitcvs.git >/dev/null &&\n+\tcd cvswork &&\n+\tGIT_CONFIG=\"$git_config\" cvs -Q update -d &&\n+\t(for dir in A A/B A/B/C A/D E; do\n+\t\tfilename=\"file_in_$(echo $dir|sed -e \"s#/# #g\")\" &&\n+\t\tif test \"$(echo $(grep -v ^D $dir/CVS/Entries|cut -d/ -f2,3,5))\" = \"$filename/1.1/\" &&\n+\t\t\ttest_cmp \"$dir/$filename\" \"../$dir/$filename\"; then\n+\t\t:\n+\t\telse\n+\t\t\texit 1\n+\t\tfi\n+\tdone)\n+'\n \n cd \"$WORKDIR\"\n-test_expect_success 'cvs update (delete file)' \\\n-  'git rm testfile1 &&\n-   git commit -q -m \"Remove testfile1\" &&\n-   git push gitcvs.git >/dev/null &&\n-   cd cvswork &&\n-   GIT_CONFIG=\"$git_config\" cvs -Q update &&\n-   test -z \"$(grep testfile1 CVS/Entries)\" &&\n-   test ! -f testfile1'\n+test_expect_success 'cvs update (delete file)' '\n+\tgit rm testfile1 &&\n+\tgit commit -q -m \"Remove testfile1\" &&\n+\tgit push gitcvs.git >/dev/null &&\n+\tcd cvswork &&\n+\tGIT_CONFIG=\"$git_config\" cvs -Q update &&\n+\ttest -z \"$(grep testfile1 CVS/Entries)\" &&\n+\ttest ! -f testfile1\n+'\n \n cd \"$WORKDIR\"\n-test_expect_success 'cvs update (re-add deleted file)' \\\n-  'echo readded testfile >testfile1 &&\n-   git add testfile1 &&\n-   git commit -q -m \"Re-Add testfile1\" &&\n-   git push gitcvs.git >/dev/null &&\n-   cd cvswork &&\n-   GIT_CONFIG=\"$git_config\" cvs -Q update &&\n-   test \"$(echo $(grep testfile1 CVS/Entries|cut -d/ -f2,3,5))\" = \"testfile1/1.4/\" &&\n-   test_cmp testfile1 ../testfile1'\n+test_expect_success 'cvs update (re-add deleted file)' '\n+\techo readded testfile >testfile1 &&\n+\tgit add testfile1 &&\n+\tgit commit -q -m \"Re-Add testfile1\" &&\n+\tgit push gitcvs.git >/dev/null &&\n+\tcd cvswork &&\n+\tGIT_CONFIG=\"$git_config\" cvs -Q update &&\n+\ttest \"$(echo $(grep testfile1 CVS/Entries|cut -d/ -f2,3,5))\" = \"testfile1/1.4/\" &&\n+\ttest_cmp testfile1 ../testfile1\n+'\n \n cd \"$WORKDIR\"\n-test_expect_success 'cvs update (merge)' \\\n-  'echo Line 0 >expected &&\n-   for i in 1 2 3 4 5 6 7\n-   do\n-     echo Line $i >>merge &&\n-     echo Line $i >>expected || return 1\n-   done &&\n-   echo Line 8 >>expected &&\n-   git add merge &&\n-   git commit -q -m \"Merge test (pre-merge)\" &&\n-   git push gitcvs.git >/dev/null &&\n-   cd cvswork &&\n-   GIT_CONFIG=\"$git_config\" cvs -Q update &&\n-   test \"$(echo $(grep merge CVS/Entries|cut -d/ -f2,3,5))\" = \"merge/1.1/\" &&\n-   test_cmp merge ../merge &&\n-   ( echo Line 0 && cat merge ) >merge.tmp &&\n-   mv merge.tmp merge &&\n-   cd \"$WORKDIR\" &&\n-   echo Line 8 >>merge &&\n-   git add merge &&\n-   git commit -q -m \"Merge test (merge)\" &&\n-   git push gitcvs.git >/dev/null &&\n-   cd cvswork &&\n-   sleep 1 && touch merge &&\n-   GIT_CONFIG=\"$git_config\" cvs -Q update &&\n-   test_cmp merge ../expected'\n+test_expect_success 'cvs update (merge)' '\n+\techo Line 0 >expected &&\n+\tfor i in 1 2 3 4 5 6 7\n+\tdo\n+\t\techo Line $i >>merge &&\n+\t\techo Line $i >>expected || return 1\n+\tdone &&\n+\techo Line 8 >>expected &&\n+\tgit add merge &&\n+\tgit commit -q -m \"Merge test (pre-merge)\" &&\n+\tgit push gitcvs.git >/dev/null &&\n+\tcd cvswork &&\n+\tGIT_CONFIG=\"$git_config\" cvs -Q update &&\n+\ttest \"$(echo $(grep merge CVS/Entries|cut -d/ -f2,3,5))\" = \"merge/1.1/\" &&\n+\ttest_cmp merge ../merge &&\n+\t( echo Line 0 && cat merge ) >merge.tmp &&\n+\tmv merge.tmp merge &&\n+\tcd \"$WORKDIR\" &&\n+\techo Line 8 >>merge &&\n+\tgit add merge &&\n+\tgit commit -q -m \"Merge test (merge)\" &&\n+\tgit push gitcvs.git >/dev/null &&\n+\tcd cvswork &&\n+\tsleep 1 && touch merge &&\n+\tGIT_CONFIG=\"$git_config\" cvs -Q update &&\n+\ttest_cmp merge ../expected\n+'\n \n cd \"$WORKDIR\"\n \n@@ -418,55 +441,58 @@ do\n   echo Line $i >>expected.C\n done\n \n-test_expect_success 'cvs update (conflict merge)' \\\n-  '( echo LINE 0 && cat merge ) >merge.tmp &&\n-   mv merge.tmp merge &&\n-   git add merge &&\n-   git commit -q -m \"Merge test (conflict)\" &&\n-   git push gitcvs.git >/dev/null &&\n-   cd cvswork &&\n-   GIT_CONFIG=\"$git_config\" cvs -Q update &&\n-   test_cmp merge ../expected.C'\n+test_expect_success 'cvs update (conflict merge)' '\n+\t( echo LINE 0 && cat merge ) >merge.tmp &&\n+\tmv merge.tmp merge &&\n+\tgit add merge &&\n+\tgit commit -q -m \"Merge test (conflict)\" &&\n+\tgit push gitcvs.git >/dev/null &&\n+\tcd cvswork &&\n+\tGIT_CONFIG=\"$git_config\" cvs -Q update &&\n+\ttest_cmp merge ../expected.C\n+'\n \n cd \"$WORKDIR\"\n-test_expect_success 'cvs update (-C)' \\\n-  'cd cvswork &&\n-   GIT_CONFIG=\"$git_config\" cvs -Q update -C &&\n-   test_cmp merge ../merge'\n+test_expect_success 'cvs update (-C)' '\n+\tcd cvswork &&\n+\tGIT_CONFIG=\"$git_config\" cvs -Q update -C &&\n+\ttest_cmp merge ../merge\n+'\n \n cd \"$WORKDIR\"\n-test_expect_success 'cvs update (merge no-op)' \\\n-   'echo Line 9 >>merge &&\n-    cp merge cvswork/merge &&\n-    git add merge &&\n-    git commit -q -m \"Merge test (no-op)\" &&\n-    git push gitcvs.git >/dev/null &&\n-    cd cvswork &&\n-    sleep 1 && touch merge &&\n-    GIT_CONFIG=\"$git_config\" cvs -Q update &&\n-    test_cmp merge ../merge'\n+test_expect_success 'cvs update (merge no-op)' '\n+\techo Line 9 >>merge &&\n+\tcp merge cvswork/merge &&\n+\tgit add merge &&\n+\tgit commit -q -m \"Merge test (no-op)\" &&\n+\tgit push gitcvs.git >/dev/null &&\n+\tcd cvswork &&\n+\tsleep 1 && touch merge &&\n+\tGIT_CONFIG=\"$git_config\" cvs -Q update &&\n+\ttest_cmp merge ../merge\n+'\n \n cd \"$WORKDIR\"\n test_expect_success 'cvs update (-p)' '\n-    touch really-empty &&\n-    echo Line 1 > no-lf &&\n-    printf \"Line 2\" >> no-lf &&\n-    git add really-empty no-lf &&\n-    git commit -q -m \"Update -p test\" &&\n-    git push gitcvs.git >/dev/null &&\n-    cd cvswork &&\n-    GIT_CONFIG=\"$git_config\" cvs update &&\n-    for i in merge no-lf empty really-empty; do\n-\tGIT_CONFIG=\"$git_config\" cvs update -p \"$i\" >$i.out &&\n-\ttest_cmp $i.out ../$i || return 1\n-    done\n+\ttouch really-empty &&\n+\techo Line 1 > no-lf &&\n+\tprintf \"Line 2\" >> no-lf &&\n+\tgit add really-empty no-lf &&\n+\tgit commit -q -m \"Update -p test\" &&\n+\tgit push gitcvs.git >/dev/null &&\n+\tcd cvswork &&\n+\tGIT_CONFIG=\"$git_config\" cvs update &&\n+\tfor i in merge no-lf empty really-empty; do\n+\t\tGIT_CONFIG=\"$git_config\" cvs update -p \"$i\" >$i.out &&\n+\t\ttest_cmp $i.out ../$i || return 1\n+\tdone\n '\n \n cd \"$WORKDIR\"\n test_expect_success 'cvs update (module list supports packed refs)' '\n-    GIT_DIR=\"$SERVERDIR\" git pack-refs --all &&\n-    GIT_CONFIG=\"$git_config\" cvs -n up -d 2> out &&\n-    grep \"cvs update: New directory \\`main'\\''\" < out\n+\tGIT_DIR=\"$SERVERDIR\" git pack-refs --all &&\n+\tGIT_CONFIG=\"$git_config\" cvs -n up -d 2> out &&\n+\tgrep \"cvs update: New directory \\`main'\\''\" < out\n '\n \n #------------\n@@ -475,30 +501,30 @@ test_expect_success 'cvs update (module list supports packed refs)' '\n \n cd \"$WORKDIR\"\n test_expect_success 'cvs status' '\n-    mkdir status.dir &&\n-    echo Line > status.dir/status.file &&\n-    echo Line > status.file &&\n-    git add status.dir status.file &&\n-    git commit -q -m \"Status test\" &&\n-    git push gitcvs.git >/dev/null &&\n-    cd cvswork &&\n-    GIT_CONFIG=\"$git_config\" cvs update &&\n-    GIT_CONFIG=\"$git_config\" cvs status | grep \"^File: status.file\" >../out &&\n-    test_line_count = 2 ../out\n+\tmkdir status.dir &&\n+\techo Line > status.dir/status.file &&\n+\techo Line > status.file &&\n+\tgit add status.dir status.file &&\n+\tgit commit -q -m \"Status test\" &&\n+\tgit push gitcvs.git >/dev/null &&\n+\tcd cvswork &&\n+\tGIT_CONFIG=\"$git_config\" cvs update &&\n+\tGIT_CONFIG=\"$git_config\" cvs status | grep \"^File: status.file\" >../out &&\n+\ttest_line_count = 2 ../out\n '\n \n cd \"$WORKDIR\"\n test_expect_success 'cvs status (nonrecursive)' '\n-    cd cvswork &&\n-    GIT_CONFIG=\"$git_config\" cvs status -l | grep \"^File: status.file\" >../out &&\n-    test_line_count = 1 ../out\n+\tcd cvswork &&\n+\tGIT_CONFIG=\"$git_config\" cvs status -l | grep \"^File: status.file\" >../out &&\n+\ttest_line_count = 1 ../out\n '\n \n cd \"$WORKDIR\"\n test_expect_success 'cvs status (no subdirs in header)' '\n-    cd cvswork &&\n-    GIT_CONFIG=\"$git_config\" cvs status | grep ^File: >../out &&\n-    ! grep / <../out\n+\tcd cvswork &&\n+\tGIT_CONFIG=\"$git_config\" cvs status | grep ^File: >../out &&\n+\t! grep / <../out\n '\n \n #------------\n@@ -507,9 +533,9 @@ test_expect_success 'cvs status (no subdirs in header)' '\n \n cd \"$WORKDIR\"\n test_expect_success 'cvs co -c (shows module database)' '\n-    GIT_CONFIG=\"$git_config\" cvs co -c > out &&\n-    grep \"^main[\t ][ \t]*main$\" <out &&\n-    ! grep -v \"^main[\t ][ \t]*main$\" <out\n+\tGIT_CONFIG=\"$git_config\" cvs co -c > out &&\n+\tgrep \"^main[\t ][ \t]*main$\" <out &&\n+\t! grep -v \"^main[\t ][ \t]*main$\" <out\n '\n \n #------------\n@@ -575,11 +601,11 @@ expectStat=\"$?\"\n \n cd \"$WORKDIR\"\n test_expect_success 'cvs log' '\n-    cd cvswork &&\n-    test x\"$expectStat\" = x\"0\" &&\n-    GIT_CONFIG=\"$git_config\" cvs log merge >../out &&\n-    sed -e \"s%2[0-9][0-9][0-9]/[01][0-9]/[0-3][0-9] [0-2][0-9]:[0-5][0-9]:[0-5][0-9]%__DATE__%\" ../out > ../actual &&\n-    test_cmp ../expect ../actual\n+\tcd cvswork &&\n+\ttest x\"$expectStat\" = x\"0\" &&\n+\tGIT_CONFIG=\"$git_config\" cvs log merge >../out &&\n+sed -e \"s%2[0-9][0-9][0-9]/[01][0-9]/[0-3][0-9] [0-2][0-9]:[0-5][0-9]:[0-5][0-9]%__DATE__%\" ../out > ../actual &&\n+\ttest_cmp ../expect ../actual\n '\n \n #------------\n@@ -588,11 +614,11 @@ test_expect_success 'cvs log' '\n \n cd \"$WORKDIR\"\n test_expect_success 'cvs annotate' '\n-    cd cvswork &&\n-    GIT_CONFIG=\"$git_config\" cvs annotate merge >../out &&\n-    sed -e \"s/ .*//\" ../out >../actual &&\n-    printf \"1.%d\\n\" 3 1 1 1 1 1 1 1 2 4 >../expect &&\n-    test_cmp ../expect ../actual\n+\tcd cvswork &&\n+\tGIT_CONFIG=\"$git_config\" cvs annotate merge >../out &&\n+\tsed -e \"s/ .*//\" ../out >../actual &&\n+\tprintf \"1.%d\\n\" 3 1 1 1 1 1 1 1 2 4 >../expect &&\n+\ttest_cmp ../expect ../actual\n '\n \n #------------\n-- \ngitgitgadget\n"}]}