{"thread":{"id":"56128","subject":"[PATCH 0/6] Fix direct filesystem access in various test files.","startedAt":"2021-07-19T18:11:42Z","lastAt":"2021-08-03T09:38:58Z","messageCount":46,"participants":["Han-Wen Nienhuys via GitGitGadget","Junio C Hamano","Han-Wen Nienhuys"],"isPatch":true,"patchVersion":1,"patchTotal":6},"messages":[{"id":"430527","messageId":"pull.1052.git.git.1626718050.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":null,"subject":"[PATCH 0/6] Fix direct filesystem access in various test files.","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-19T18:07:24Z","receivedAt":"2021-07-19T18:11:42Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"This fixes a few test failures in the reftable series.\n\nHan-Wen Nienhuys (6):\n  t6050: use git-update-ref rather than filesystem access\n  t1503: mark symlink test as REFFILES\n  t6120: use git-update-ref rather than filesystem access\n  t7509: use git-update-ref rather than filesystem access\n  t3320: use git-symbolic-ref rather than filesystem access\n  t2402: use ref-store test helper to create broken symlink\n\n t/t1503-rev-parse-verify.sh      |  2 +-\n t/t2402-worktree-list.sh         |  2 +-\n t/t3320-notes-merge-worktrees.sh | 12 +++++++-----\n t/t6050-replace.sh               |  2 +-\n t/t6120-describe.sh              |  6 ++++--\n t/t7509-commit-authorship.sh     |  4 ++--\n 6 files changed, 16 insertions(+), 12 deletions(-)\n\n\nbase-commit: 75ae10bc75336db031ee58d13c5037b929235912\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1052%2Fhanwen%2Ftest-fixes-v3-v1\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1052/hanwen/test-fixes-v3-v1\nPull-Request: https://github.com/git/git/pull/1052\n-- \ngitgitgadget\n"},{"id":"430528","messageId":"cc400e9131dfc9a3df1b56401ab964eb5f1eb31d.1626718050.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.git.git.1626718050.gitgitgadget@gmail.com","subject":"[PATCH 5/6] t3320: use git-symbolic-ref rather than filesystem access","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-19T18:07:29Z","receivedAt":"2021-07-19T18:11:43Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t3320-notes-merge-worktrees.sh | 12 +++++++-----\n 1 file changed, 7 insertions(+), 5 deletions(-)\n\ndiff --git a/t/t3320-notes-merge-worktrees.sh b/t/t3320-notes-merge-worktrees.sh\nindex 052516e6c6a..6b2d507f3e7 100755\n--- a/t/t3320-notes-merge-worktrees.sh\n+++ b/t/t3320-notes-merge-worktrees.sh\n@@ -46,8 +46,9 @@ test_expect_success 'create some new worktrees' '\n test_expect_success 'merge z into y fails and sets NOTES_MERGE_REF' '\n \tgit config core.notesRef refs/notes/y &&\n \ttest_must_fail git notes merge z &&\n-\techo \"ref: refs/notes/y\" >expect &&\n-\ttest_cmp expect .git/NOTES_MERGE_REF\n+\techo \"refs/notes/y\" >expect &&\n+\tgit symbolic-ref NOTES_MERGE_REF >actual &&\n+\ttest_cmp expect actual\n '\n \n test_expect_success 'merge z into y while mid-merge in another workdir fails' '\n@@ -57,7 +58,7 @@ test_expect_success 'merge z into y while mid-merge in another workdir fails' '\n \t\ttest_must_fail git notes merge z 2>err &&\n \t\ttest_i18ngrep \"a notes merge into refs/notes/y is already in-progress at\" err\n \t) &&\n-\ttest_path_is_missing .git/worktrees/worktree/NOTES_MERGE_REF\n+\ttest_must_fail git -C worktree symbolic-ref NOTES_MERGE_REF\n '\n \n test_expect_success 'merge z into x while mid-merge on y succeeds' '\n@@ -68,8 +69,9 @@ test_expect_success 'merge z into x while mid-merge on y succeeds' '\n \t\ttest_i18ngrep \"Automatic notes merge failed\" out &&\n \t\tgrep -v \"A notes merge into refs/notes/x is already in-progress in\" out\n \t) &&\n-\techo \"ref: refs/notes/x\" >expect &&\n-\ttest_cmp expect .git/worktrees/worktree2/NOTES_MERGE_REF\n+\techo \"refs/notes/x\" >expect &&\n+\tgit -C worktree2 symbolic-ref NOTES_MERGE_REF >actual &&\n+\ttest_cmp expect actual\n '\n \n test_done\n-- \ngitgitgadget\n\n"},{"id":"430529","messageId":"61a5c3718dfbba7aae6aee75b3030d7d744d2664.1626718050.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.git.git.1626718050.gitgitgadget@gmail.com","subject":"[PATCH 1/6] t6050: use git-update-ref rather than filesystem access","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-19T18:07:25Z","receivedAt":"2021-07-19T18:11:51Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t6050-replace.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/t/t6050-replace.sh b/t/t6050-replace.sh\nindex e33d512ec11..2500acc2ef8 100755\n--- a/t/t6050-replace.sh\n+++ b/t/t6050-replace.sh\n@@ -132,7 +132,7 @@ tagger T A Gger <> 0 +0000\n EOF\n \n test_expect_success 'tag replaced commit' '\n-     git mktag <tag.sig >.git/refs/tags/mytag\n+     git update-ref refs/tags/mytag $(git mktag <tag.sig)\n '\n \n test_expect_success '\"git fsck\" works' '\n-- \ngitgitgadget\n\n"},{"id":"430530","messageId":"49994a0d154abd3e4cc7d8cf64044b8ab738819f.1626718050.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.git.git.1626718050.gitgitgadget@gmail.com","subject":"[PATCH 2/6] t1503: mark symlink test as REFFILES","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-19T18:07:26Z","receivedAt":"2021-07-19T18:11:53Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t1503-rev-parse-verify.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/t/t1503-rev-parse-verify.sh b/t/t1503-rev-parse-verify.sh\nindex bf081023917..40958615ebb 100755\n--- a/t/t1503-rev-parse-verify.sh\n+++ b/t/t1503-rev-parse-verify.sh\n@@ -142,7 +142,7 @@ test_expect_success 'main@{n} for various n' '\n \ttest_must_fail git rev-parse --verify main@{$Np1}\n '\n \n-test_expect_success SYMLINKS 'ref resolution not confused by broken symlinks' '\n+test_expect_success SYMLINKS,REFFILES 'ref resolution not confused by broken symlinks' '\n \tln -s does-not-exist .git/refs/heads/broken &&\n \ttest_must_fail git rev-parse --verify broken\n '\n-- \ngitgitgadget\n\n"},{"id":"430531","messageId":"4d83f70e13323c97bbae685c3ee6f5c94876cf78.1626718050.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.git.git.1626718050.gitgitgadget@gmail.com","subject":"[PATCH 6/6] t2402: use ref-store test helper to create broken symlink","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-19T18:07:30Z","receivedAt":"2021-07-19T18:11:58Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t2402-worktree-list.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/t/t2402-worktree-list.sh b/t/t2402-worktree-list.sh\nindex fedcefe8de3..4012bd67b04 100755\n--- a/t/t2402-worktree-list.sh\n+++ b/t/t2402-worktree-list.sh\n@@ -230,7 +230,7 @@ test_expect_success 'broken main worktree still at the top' '\n \t\tEOF\n \t\tcd linked &&\n \t\techo \"worktree $(pwd)\" >expected &&\n-\t\techo \"ref: .broken\" >../.git/HEAD &&\n+\t\t(cd ../ && test-tool ref-store main create-symref HEAD .broken ) &&\n \t\tgit worktree list --porcelain >out &&\n \t\thead -n 3 out >actual &&\n \t\ttest_cmp ../expected actual &&\n-- \ngitgitgadget\n"},{"id":"430532","messageId":"695921cacb68dede0deef3a197bc9cd89c9cf2e3.1626718050.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.git.git.1626718050.gitgitgadget@gmail.com","subject":"[PATCH 3/6] t6120: use git-update-ref rather than filesystem access","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-19T18:07:27Z","receivedAt":"2021-07-19T18:12:04Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t6120-describe.sh | 6 ++++--\n 1 file changed, 4 insertions(+), 2 deletions(-)\n\ndiff --git a/t/t6120-describe.sh b/t/t6120-describe.sh\nindex 1a501ee09e1..bae2419150b 100755\n--- a/t/t6120-describe.sh\n+++ b/t/t6120-describe.sh\n@@ -107,7 +107,8 @@ test_expect_success 'describe --contains defaults to HEAD without commit-ish' '\n check_describe tags/A --all A^0\n \n test_expect_success 'renaming tag A to Q locally produces a warning' \"\n-\tmv .git/refs/tags/A .git/refs/tags/Q &&\n+\tgit update-ref refs/tags/Q $(git rev-parse refs/tags/A) &&\n+\tgit update-ref -d refs/tags/A &&\n \tgit describe HEAD 2>err >out &&\n \tcat >expected <<-\\EOF &&\n \twarning: tag 'Q' is externally known as 'A'\n@@ -135,7 +136,8 @@ test_expect_success 'abbrev=0 will not break misplaced tag (2)' '\n '\n \n test_expect_success 'rename tag Q back to A' '\n-\tmv .git/refs/tags/Q .git/refs/tags/A\n+\tgit update-ref refs/tags/A $(git rev-parse refs/tags/Q) &&\n+\tgit update-ref -d refs/tags/Q\n '\n \n test_expect_success 'pack tag refs' 'git pack-refs'\n-- \ngitgitgadget\n\n"},{"id":"430533","messageId":"94d7e144f54c423c865dcd475b042469f07f4221.1626718050.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.git.git.1626718050.gitgitgadget@gmail.com","subject":"[PATCH 4/6] t7509: use git-update-ref rather than filesystem access","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-19T18:07:28Z","receivedAt":"2021-07-19T18:12:06Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t7509-commit-authorship.sh | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/t/t7509-commit-authorship.sh b/t/t7509-commit-authorship.sh\nindex ee6c47416ed..d568593382c 100755\n--- a/t/t7509-commit-authorship.sh\n+++ b/t/t7509-commit-authorship.sh\n@@ -147,7 +147,7 @@ test_expect_success 'commit respects CHERRY_PICK_HEAD and MERGE_MSG' '\n \ttest_tick &&\n \tgit commit -am \"cherry-pick 1\" --author=\"Cherry <cherry@pick.er>\" &&\n \tgit tag cherry-pick-head &&\n-\tgit rev-parse cherry-pick-head >.git/CHERRY_PICK_HEAD &&\n+\tgit update-ref CHERRY_PICK_HEAD $(git rev-parse cherry-pick-head) &&\n \techo \"This is a MERGE_MSG\" >.git/MERGE_MSG &&\n \techo \"cherry-pick 1b\" >>foo &&\n \ttest_tick &&\n@@ -162,7 +162,7 @@ test_expect_success 'commit respects CHERRY_PICK_HEAD and MERGE_MSG' '\n '\n \n test_expect_success '--reset-author with CHERRY_PICK_HEAD' '\n-\tgit rev-parse cherry-pick-head >.git/CHERRY_PICK_HEAD &&\n+\tgit update-ref CHERRY_PICK_HEAD $(git rev-parse cherry-pick-head) &&\n \techo \"cherry-pick 2\" >>foo &&\n \ttest_tick &&\n \tgit commit -am \"cherry-pick 2\" --reset-author &&\n-- \ngitgitgadget\n\n"},{"id":"430549","messageId":"xmqqv956j8c2.fsf@gitster.g","threadId":"56128","inReplyTo":"94d7e144f54c423c865dcd475b042469f07f4221.1626718050.git.gitgitgadget@gmail.com","subject":"Re: [PATCH 4/6] t7509: use git-update-ref rather than filesystem access","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-07-19T21:35:09Z","receivedAt":"2021-07-19T23:11:22Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Han-Wen Nienhuys via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> From: Han-Wen Nienhuys <hanwen@google.com>\n>\n> Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>\n> ---\n>  t/t7509-commit-authorship.sh | 4 ++--\n>  1 file changed, 2 insertions(+), 2 deletions(-)\n\nThis seems identical to one of the commits in hn/refs-test-cleanup\nthat has already been merged to 'master', so I'll drop this copy.\n\nThanks.\n\n\n> diff --git a/t/t7509-commit-authorship.sh b/t/t7509-commit-authorship.sh\n> index ee6c47416ed..d568593382c 100755\n> --- a/t/t7509-commit-authorship.sh\n> +++ b/t/t7509-commit-authorship.sh\n> @@ -147,7 +147,7 @@ test_expect_success 'commit respects CHERRY_PICK_HEAD and MERGE_MSG' '\n>  \ttest_tick &&\n>  \tgit commit -am \"cherry-pick 1\" --author=\"Cherry <cherry@pick.er>\" &&\n>  \tgit tag cherry-pick-head &&\n> -\tgit rev-parse cherry-pick-head >.git/CHERRY_PICK_HEAD &&\n> +\tgit update-ref CHERRY_PICK_HEAD $(git rev-parse cherry-pick-head) &&\n>  \techo \"This is a MERGE_MSG\" >.git/MERGE_MSG &&\n>  \techo \"cherry-pick 1b\" >>foo &&\n>  \ttest_tick &&\n> @@ -162,7 +162,7 @@ test_expect_success 'commit respects CHERRY_PICK_HEAD and MERGE_MSG' '\n>  '\n>  \n>  test_expect_success '--reset-author with CHERRY_PICK_HEAD' '\n> -\tgit rev-parse cherry-pick-head >.git/CHERRY_PICK_HEAD &&\n> +\tgit update-ref CHERRY_PICK_HEAD $(git rev-parse cherry-pick-head) &&\n>  \techo \"cherry-pick 2\" >>foo &&\n>  \ttest_tick &&\n>  \tgit commit -am \"cherry-pick 2\" --reset-author &&\n"},{"id":"430954","messageId":"pull.1052.v2.git.git.1626989327.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.git.git.1626718050.gitgitgadget@gmail.com","subject":"[PATCH v2 00/11] Fix direct filesystem access in various test files.","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-22T21:28:36Z","receivedAt":"2021-07-22T21:28:52Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"This fixes a few test failures in the reftable series.\n\nHan-Wen Nienhuys (11):\n  t6050: use git-update-ref rather than filesystem access\n  t1503: mark symlink test as REFFILES\n  t6120: use git-update-ref rather than filesystem access\n  t3320: use git-symbolic-ref rather than filesystem access\n  t2402: use ref-store test helper to create broken symlink\n  t1405: use 'git reflog exists' to check reflog existence\n  t1405: mark test for 'git pack-refs' as REFFILES\n  t1410: mark test as REFFILES\n  t7064: use update-ref -d to remove upstream branch\n  t6500: use \"ls -1\" to snapshot ref database state\n  t6001: avoid direct file system access\n\n t/t1405-main-ref-store.sh        | 12 ++++++++----\n t/t1410-reflog.sh                |  4 +++-\n t/t1503-rev-parse-verify.sh      |  2 +-\n t/t2402-worktree-list.sh         |  2 +-\n t/t3320-notes-merge-worktrees.sh | 12 +++++++-----\n t/t6001-rev-list-graft.sh        |  3 ++-\n t/t6050-replace.sh               |  2 +-\n t/t6120-describe.sh              |  6 ++++--\n t/t6500-gc.sh                    |  5 +++--\n t/t7064-wtstatus-pv2.sh          |  5 +----\n 10 files changed, 31 insertions(+), 22 deletions(-)\n\n\nbase-commit: daab8a564f8bbac55f70f8bf86c070e001a9b006\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1052%2Fhanwen%2Ftest-fixes-v3-v2\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1052/hanwen/test-fixes-v3-v2\nPull-Request: https://github.com/git/git/pull/1052\n\nRange-diff vs v1:\n\n  1:  61a5c3718df =  1:  d7616038d88 t6050: use git-update-ref rather than filesystem access\n  2:  49994a0d154 =  2:  cbd2128c331 t1503: mark symlink test as REFFILES\n  3:  695921cacb6 =  3:  cbf90c13e5b t6120: use git-update-ref rather than filesystem access\n  4:  94d7e144f54 <  -:  ----------- t7509: use git-update-ref rather than filesystem access\n  5:  cc400e9131d =  4:  7b98d092811 t3320: use git-symbolic-ref rather than filesystem access\n  6:  4d83f70e133 =  5:  0047266de6b t2402: use ref-store test helper to create broken symlink\n  -:  ----------- >  6:  eb2c53d19cf t1405: use 'git reflog exists' to check reflog existence\n  -:  ----------- >  7:  05dead16f1c t1405: mark test for 'git pack-refs' as REFFILES\n  -:  ----------- >  8:  f931a26de58 t1410: mark test as REFFILES\n  -:  ----------- >  9:  3685ba90f60 t7064: use update-ref -d to remove upstream branch\n  -:  ----------- > 10:  ccdbf3749fe t6500: use \"ls -1\" to snapshot ref database state\n  -:  ----------- > 11:  81e46f95536 t6001: avoid direct file system access\n\n-- \ngitgitgadget\n"},{"id":"430955","messageId":"d7616038d88f0f3bca9fec2a57abc2c9ca896e78.1626989327.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v2.git.git.1626989327.gitgitgadget@gmail.com","subject":"[PATCH v2 01/11] t6050: use git-update-ref rather than filesystem access","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-22T21:28:37Z","receivedAt":"2021-07-22T21:28:53Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t6050-replace.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/t/t6050-replace.sh b/t/t6050-replace.sh\nindex e33d512ec11..2500acc2ef8 100755\n--- a/t/t6050-replace.sh\n+++ b/t/t6050-replace.sh\n@@ -132,7 +132,7 @@ tagger T A Gger <> 0 +0000\n EOF\n \n test_expect_success 'tag replaced commit' '\n-     git mktag <tag.sig >.git/refs/tags/mytag\n+     git update-ref refs/tags/mytag $(git mktag <tag.sig)\n '\n \n test_expect_success '\"git fsck\" works' '\n-- \ngitgitgadget\n\n"},{"id":"430956","messageId":"cbf90c13e5beb0849f4e112c6d4e8e0f8675b508.1626989327.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v2.git.git.1626989327.gitgitgadget@gmail.com","subject":"[PATCH v2 03/11] t6120: use git-update-ref rather than filesystem access","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-22T21:28:39Z","receivedAt":"2021-07-22T21:28:53Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t6120-describe.sh | 6 ++++--\n 1 file changed, 4 insertions(+), 2 deletions(-)\n\ndiff --git a/t/t6120-describe.sh b/t/t6120-describe.sh\nindex 1a501ee09e1..bae2419150b 100755\n--- a/t/t6120-describe.sh\n+++ b/t/t6120-describe.sh\n@@ -107,7 +107,8 @@ test_expect_success 'describe --contains defaults to HEAD without commit-ish' '\n check_describe tags/A --all A^0\n \n test_expect_success 'renaming tag A to Q locally produces a warning' \"\n-\tmv .git/refs/tags/A .git/refs/tags/Q &&\n+\tgit update-ref refs/tags/Q $(git rev-parse refs/tags/A) &&\n+\tgit update-ref -d refs/tags/A &&\n \tgit describe HEAD 2>err >out &&\n \tcat >expected <<-\\EOF &&\n \twarning: tag 'Q' is externally known as 'A'\n@@ -135,7 +136,8 @@ test_expect_success 'abbrev=0 will not break misplaced tag (2)' '\n '\n \n test_expect_success 'rename tag Q back to A' '\n-\tmv .git/refs/tags/Q .git/refs/tags/A\n+\tgit update-ref refs/tags/A $(git rev-parse refs/tags/Q) &&\n+\tgit update-ref -d refs/tags/Q\n '\n \n test_expect_success 'pack tag refs' 'git pack-refs'\n-- \ngitgitgadget\n\n"},{"id":"430957","messageId":"cbd2128c3313ea7627f16d3758ed402a280d3ea9.1626989327.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v2.git.git.1626989327.gitgitgadget@gmail.com","subject":"[PATCH v2 02/11] t1503: mark symlink test as REFFILES","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-22T21:28:38Z","receivedAt":"2021-07-22T21:28:56Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t1503-rev-parse-verify.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/t/t1503-rev-parse-verify.sh b/t/t1503-rev-parse-verify.sh\nindex bf081023917..40958615ebb 100755\n--- a/t/t1503-rev-parse-verify.sh\n+++ b/t/t1503-rev-parse-verify.sh\n@@ -142,7 +142,7 @@ test_expect_success 'main@{n} for various n' '\n \ttest_must_fail git rev-parse --verify main@{$Np1}\n '\n \n-test_expect_success SYMLINKS 'ref resolution not confused by broken symlinks' '\n+test_expect_success SYMLINKS,REFFILES 'ref resolution not confused by broken symlinks' '\n \tln -s does-not-exist .git/refs/heads/broken &&\n \ttest_must_fail git rev-parse --verify broken\n '\n-- \ngitgitgadget\n\n"},{"id":"430958","messageId":"0047266de6bc2f7f198cbc73cbb1e8adf2581535.1626989327.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v2.git.git.1626989327.gitgitgadget@gmail.com","subject":"[PATCH v2 05/11] t2402: use ref-store test helper to create broken symlink","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-22T21:28:41Z","receivedAt":"2021-07-22T21:28:59Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t2402-worktree-list.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/t/t2402-worktree-list.sh b/t/t2402-worktree-list.sh\nindex fedcefe8de3..4012bd67b04 100755\n--- a/t/t2402-worktree-list.sh\n+++ b/t/t2402-worktree-list.sh\n@@ -230,7 +230,7 @@ test_expect_success 'broken main worktree still at the top' '\n \t\tEOF\n \t\tcd linked &&\n \t\techo \"worktree $(pwd)\" >expected &&\n-\t\techo \"ref: .broken\" >../.git/HEAD &&\n+\t\t(cd ../ && test-tool ref-store main create-symref HEAD .broken ) &&\n \t\tgit worktree list --porcelain >out &&\n \t\thead -n 3 out >actual &&\n \t\ttest_cmp ../expected actual &&\n-- \ngitgitgadget\n\n"},{"id":"430959","messageId":"7b98d092811c3b479b41e5ef3327d795d794fde2.1626989327.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v2.git.git.1626989327.gitgitgadget@gmail.com","subject":"[PATCH v2 04/11] t3320: use git-symbolic-ref rather than filesystem access","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-22T21:28:40Z","receivedAt":"2021-07-22T21:29:00Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t3320-notes-merge-worktrees.sh | 12 +++++++-----\n 1 file changed, 7 insertions(+), 5 deletions(-)\n\ndiff --git a/t/t3320-notes-merge-worktrees.sh b/t/t3320-notes-merge-worktrees.sh\nindex 052516e6c6a..6b2d507f3e7 100755\n--- a/t/t3320-notes-merge-worktrees.sh\n+++ b/t/t3320-notes-merge-worktrees.sh\n@@ -46,8 +46,9 @@ test_expect_success 'create some new worktrees' '\n test_expect_success 'merge z into y fails and sets NOTES_MERGE_REF' '\n \tgit config core.notesRef refs/notes/y &&\n \ttest_must_fail git notes merge z &&\n-\techo \"ref: refs/notes/y\" >expect &&\n-\ttest_cmp expect .git/NOTES_MERGE_REF\n+\techo \"refs/notes/y\" >expect &&\n+\tgit symbolic-ref NOTES_MERGE_REF >actual &&\n+\ttest_cmp expect actual\n '\n \n test_expect_success 'merge z into y while mid-merge in another workdir fails' '\n@@ -57,7 +58,7 @@ test_expect_success 'merge z into y while mid-merge in another workdir fails' '\n \t\ttest_must_fail git notes merge z 2>err &&\n \t\ttest_i18ngrep \"a notes merge into refs/notes/y is already in-progress at\" err\n \t) &&\n-\ttest_path_is_missing .git/worktrees/worktree/NOTES_MERGE_REF\n+\ttest_must_fail git -C worktree symbolic-ref NOTES_MERGE_REF\n '\n \n test_expect_success 'merge z into x while mid-merge on y succeeds' '\n@@ -68,8 +69,9 @@ test_expect_success 'merge z into x while mid-merge on y succeeds' '\n \t\ttest_i18ngrep \"Automatic notes merge failed\" out &&\n \t\tgrep -v \"A notes merge into refs/notes/x is already in-progress in\" out\n \t) &&\n-\techo \"ref: refs/notes/x\" >expect &&\n-\ttest_cmp expect .git/worktrees/worktree2/NOTES_MERGE_REF\n+\techo \"refs/notes/x\" >expect &&\n+\tgit -C worktree2 symbolic-ref NOTES_MERGE_REF >actual &&\n+\ttest_cmp expect actual\n '\n \n test_done\n-- \ngitgitgadget\n\n"},{"id":"430960","messageId":"eb2c53d19cf90432ff4fd5af9ca6f4abc636cd7d.1626989327.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v2.git.git.1626989327.gitgitgadget@gmail.com","subject":"[PATCH v2 06/11] t1405: use 'git reflog exists' to check reflog existence","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-22T21:28:42Z","receivedAt":"2021-07-22T21:29:02Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nThis fixes a test failure for reftable.\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t1405-main-ref-store.sh | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/t/t1405-main-ref-store.sh b/t/t1405-main-ref-store.sh\nindex a237d9880ea..92b04873247 100755\n--- a/t/t1405-main-ref-store.sh\n+++ b/t/t1405-main-ref-store.sh\n@@ -98,12 +98,12 @@ test_expect_success 'reflog_exists(HEAD)' '\n \n test_expect_success 'delete_reflog(HEAD)' '\n \t$RUN delete-reflog HEAD &&\n-\t! test -f .git/logs/HEAD\n+\ttest_must_fail git reflog exists HEAD\n '\n \n test_expect_success 'create-reflog(HEAD)' '\n \t$RUN create-reflog HEAD 1 &&\n-\ttest -f .git/logs/HEAD\n+\tgit reflog exists HEAD\n '\n \n test_expect_success 'delete_ref(refs/heads/foo)' '\n-- \ngitgitgadget\n\n"},{"id":"430961","messageId":"05dead16f1cbc8d967edf101e170049bbe121cb4.1626989327.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v2.git.git.1626989327.gitgitgadget@gmail.com","subject":"[PATCH v2 07/11] t1405: mark test for 'git pack-refs' as REFFILES","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-22T21:28:43Z","receivedAt":"2021-07-22T21:29:02Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nThe outcome of the pack-refs operation is not checked. This was apparently\nforgotten in the commit introducing this test: 16feb99d (Mar 26 2017, \"t1405:\nsome basic tests on main ref store\").\n\nI tried adding the obvious check this, but it seems to fail on the freebsd_12\nbuilder.\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t1405-main-ref-store.sh | 8 ++++++--\n 1 file changed, 6 insertions(+), 2 deletions(-)\n\ndiff --git a/t/t1405-main-ref-store.sh b/t/t1405-main-ref-store.sh\nindex 92b04873247..3517f54961d 100755\n--- a/t/t1405-main-ref-store.sh\n+++ b/t/t1405-main-ref-store.sh\n@@ -9,8 +9,12 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME\n \n RUN=\"test-tool ref-store main\"\n \n-test_expect_success 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)' '\n-\ttest_commit one &&\n+\n+test_expect_success 'setup' '\n+\ttest_commit one\n+'\n+\n+test_expect_success REFFILES 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)' '\n \tN=`find .git/refs -type f | wc -l` &&\n \ttest \"$N\" != 0 &&\n \t$RUN pack-refs 3 &&\n-- \ngitgitgadget\n\n"},{"id":"430962","messageId":"f931a26de58e3cc7bb6522fab47e934aca7dc776.1626989327.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v2.git.git.1626989327.gitgitgadget@gmail.com","subject":"[PATCH v2 08/11] t1410: mark test as REFFILES","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-22T21:28:44Z","receivedAt":"2021-07-22T21:29:04Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nIn reftable, one cannot take a lock on an individual ref.\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t1410-reflog.sh | 4 +++-\n 1 file changed, 3 insertions(+), 1 deletion(-)\n\ndiff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh\nindex 27b9080251a..d42f067ff8c 100755\n--- a/t/t1410-reflog.sh\n+++ b/t/t1410-reflog.sh\n@@ -374,7 +374,9 @@ test_expect_failure 'reflog with non-commit entries displays all entries' '\n \ttest_line_count = 3 actual\n '\n \n-test_expect_success 'reflog expire operates on symref not referrent' '\n+# This test takes a lock on an individual ref; this is not supported in\n+# reftable.\n+test_expect_success REFFILES 'reflog expire operates on symref not referrent' '\n \tgit branch --create-reflog the_symref &&\n \tgit branch --create-reflog referrent &&\n \tgit update-ref referrent HEAD &&\n-- \ngitgitgadget\n\n"},{"id":"430963","messageId":"3685ba90f60ef95892a22c8549c9a3c0717d6662.1626989327.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v2.git.git.1626989327.gitgitgadget@gmail.com","subject":"[PATCH v2 09/11] t7064: use update-ref -d to remove upstream branch","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-22T21:28:45Z","receivedAt":"2021-07-22T21:29:04Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nThe previous code tested this by writing $ZERO_OID explicitly in the packed-refs\nfile. This is a type of corruption that doesn't reflect realistic use-cases. In\naddition, even the ref-store test-tool refuses to write invalid OIDs.\n(update-ref interprets $ZERO_OID is deleting the ref).\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t7064-wtstatus-pv2.sh | 5 +----\n 1 file changed, 1 insertion(+), 4 deletions(-)\n\ndiff --git a/t/t7064-wtstatus-pv2.sh b/t/t7064-wtstatus-pv2.sh\nindex 4613882caff..eeb0534163d 100755\n--- a/t/t7064-wtstatus-pv2.sh\n+++ b/t/t7064-wtstatus-pv2.sh\n@@ -373,10 +373,7 @@ test_expect_success 'verify upstream fields in branch header' '\n \n \t\t## Test upstream-gone case. Fake this by pointing\n \t\t## origin/initial-branch at a non-existing commit.\n-\t\tOLD=$(git rev-parse origin/initial-branch) &&\n-\t\tNEW=$ZERO_OID &&\n-\t\tmv .git/packed-refs .git/old-packed-refs &&\n-\t\tsed \"s/$OLD/$NEW/g\" <.git/old-packed-refs >.git/packed-refs &&\n+\t\tgit update-ref -d refs/remotes/origin/initial-branch &&\n \n \t\tHUF=$(git rev-parse HEAD) &&\n \n-- \ngitgitgadget\n\n"},{"id":"430964","messageId":"ccdbf3749fe6444e2638a62fdb594836e67450af.1626989327.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v2.git.git.1626989327.gitgitgadget@gmail.com","subject":"[PATCH v2 10/11] t6500: use \"ls -1\" to snapshot ref database state","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-22T21:28:46Z","receivedAt":"2021-07-22T21:29:05Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nBy doing ls -1 .git/{reftable,refs/heads}, we can capture changes to both\nreftable and packed/loose ref storage.\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t6500-gc.sh | 5 +++--\n 1 file changed, 3 insertions(+), 2 deletions(-)\n\ndiff --git a/t/t6500-gc.sh b/t/t6500-gc.sh\nindex 10c7ae7f09c..c2021267f2c 100755\n--- a/t/t6500-gc.sh\n+++ b/t/t6500-gc.sh\n@@ -241,7 +241,7 @@ test_expect_success 'background auto gc respects lock for all operations' '\n \n \t# create a ref whose loose presence we can use to detect a pack-refs run\n \tgit update-ref refs/heads/should-be-loose HEAD &&\n-\ttest_path_is_file .git/refs/heads/should-be-loose &&\n+\t(ls -1 .git/refs/heads .git/reftable >expect || true) &&\n \n \t# now fake a concurrent gc that holds the lock; we can use our\n \t# shell pid so that it looks valid.\n@@ -258,7 +258,8 @@ test_expect_success 'background auto gc respects lock for all operations' '\n \n \t# our gc should exit zero without doing anything\n \trun_and_wait_for_auto_gc &&\n-\ttest_path_is_file .git/refs/heads/should-be-loose\n+\t(ls -1 .git/refs/heads .git/reftable >actual || true) &&\n+\ttest_cmp expect actual\n '\n \n # DO NOT leave a detached auto gc process running near the end of the\n-- \ngitgitgadget\n\n"},{"id":"430965","messageId":"81e46f955363fee8576b378f22273436e28b3675.1626989327.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v2.git.git.1626989327.gitgitgadget@gmail.com","subject":"[PATCH v2 11/11] t6001: avoid direct file system access","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-07-22T21:28:47Z","receivedAt":"2021-07-22T21:29:07Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t6001-rev-list-graft.sh | 3 ++-\n 1 file changed, 2 insertions(+), 1 deletion(-)\n\ndiff --git a/t/t6001-rev-list-graft.sh b/t/t6001-rev-list-graft.sh\nindex 90d93f77fa7..7294147334a 100755\n--- a/t/t6001-rev-list-graft.sh\n+++ b/t/t6001-rev-list-graft.sh\n@@ -23,7 +23,8 @@ test_expect_success setup '\n \tgit commit -a -m \"Third in one history.\" &&\n \tA2=$(git rev-parse --verify HEAD) &&\n \n-\trm -f .git/refs/heads/main .git/index &&\n+\tgit update-ref -d refs/heads/main &&\n+\trm -f .git/index &&\n \n \techo >fileA fileA again &&\n \techo >subdir/fileB fileB again &&\n-- \ngitgitgadget\n"},{"id":"430970","messageId":"xmqqk0li7zsk.fsf@gitster.g","threadId":"56128","inReplyTo":"pull.1052.git.git.1626718050.gitgitgadget@gmail.com","subject":"Re: [PATCH 0/6] Fix direct filesystem access in various test files.","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-07-22T22:24:11Z","receivedAt":"2021-07-22T22:24:18Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Han-Wen Nienhuys via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> This fixes a few test failures in the reftable series.\n>\n> Han-Wen Nienhuys (6):\n>   t6050: use git-update-ref rather than filesystem access\n>   t1503: mark symlink test as REFFILES\n>   t6120: use git-update-ref rather than filesystem access\n>   t7509: use git-update-ref rather than filesystem access\n>   t3320: use git-symbolic-ref rather than filesystem access\n>   t2402: use ref-store test helper to create broken symlink\n\nModulo for the duplicated one, the other 5 looked all sensible and\nare now part of 'next'.\n\nThanks.\n"},{"id":"431061","messageId":"xmqqy29xne7m.fsf@gitster.g","threadId":"56128","inReplyTo":"eb2c53d19cf90432ff4fd5af9ca6f4abc636cd7d.1626989327.git.gitgitgadget@gmail.com","subject":"Re: [PATCH v2 06/11] t1405: use 'git reflog exists' to check reflog existence","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-07-23T17:15:57Z","receivedAt":"2021-07-23T17:16:03Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Han-Wen Nienhuys via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> From: Han-Wen Nienhuys <hanwen@google.com>\n>\n> This fixes a test failure for reftable.\n>\n> Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>\n> ---\n>  t/t1405-main-ref-store.sh | 4 ++--\n>  1 file changed, 2 insertions(+), 2 deletions(-)\n>\n> diff --git a/t/t1405-main-ref-store.sh b/t/t1405-main-ref-store.sh\n> index a237d9880ea..92b04873247 100755\n> --- a/t/t1405-main-ref-store.sh\n> +++ b/t/t1405-main-ref-store.sh\n> @@ -98,12 +98,12 @@ test_expect_success 'reflog_exists(HEAD)' '\n>  \n>  test_expect_success 'delete_reflog(HEAD)' '\n>  \t$RUN delete-reflog HEAD &&\n> -\t! test -f .git/logs/HEAD\n> +\ttest_must_fail git reflog exists HEAD\n>  '\n>  \n>  test_expect_success 'create-reflog(HEAD)' '\n>  \t$RUN create-reflog HEAD 1 &&\n> -\ttest -f .git/logs/HEAD\n> +\tgit reflog exists HEAD\n>  '\n\nObviously more logical.  Thanks.\n"},{"id":"431063","messageId":"xmqqsg05ndn9.fsf@gitster.g","threadId":"56128","inReplyTo":"05dead16f1cbc8d967edf101e170049bbe121cb4.1626989327.git.gitgitgadget@gmail.com","subject":"Re: [PATCH v2 07/11] t1405: mark test for 'git pack-refs' as REFFILES","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-07-23T17:28:10Z","receivedAt":"2021-07-23T17:28:14Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Han-Wen Nienhuys via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> From: Han-Wen Nienhuys <hanwen@google.com>\n>\n> The outcome of the pack-refs operation is not checked. This was apparently\n> forgotten in the commit introducing this test: 16feb99d (Mar 26 2017, \"t1405:\n> some basic tests on main ref store\").\n>\n> I tried adding the obvious check this, but it seems to fail on the freebsd_12\n> builder.\n\nThese two paragraphs may state the truth, but readers would\nappreciate if it is clarified that they are both side notes that do\nnot necessarily help understanding the change being made with the\npatch.  Something like this\n\n    The number of loose ref files under .git/refs/ directory before\n    and after running the \"git pack-refs\" command only matter when\n    the files ref-backend is in use, so hide the test behind the\n    REFFILES prerequisite.\n\nwould be needed before these sidenotes.\n\nWith a larger context, as you said, \n\n    diff --git a/t/t1405-main-ref-store.sh b/t/t1405-main-ref-store.sh\n    index 92b0487324..3517f54961 100755\n    --- a/t/t1405-main-ref-store.sh\n    +++ b/t/t1405-main-ref-store.sh\n    @@ -9,10 +9,14 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME\n\n     RUN=\"test-tool ref-store main\"\n\n    -test_expect_success 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)' '\n    -\ttest_commit one &&\n    +\n    +test_expect_success 'setup' '\n    +\ttest_commit one\n    +'\n    +\n    +test_expect_success REFFILES 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)' '\n            N=`find .git/refs -type f | wc -l` &&\n            test \"$N\" != 0 &&\n            $RUN pack-refs 3 &&\n            N=`find .git/refs -type f | wc -l`\n     '\n\nwe do count the number of regular files in .git/refs hierarchy after\nrunning \"test-tool ref-store main pack-refs 3\" (whatever that means).\n\nI think your \"obvious check\" would have been something like the\nattached?  How would that break?  It is not the \"'wc -l' pads the\noutput with extra spaces\" we often see on macOS, is it?\n\nThanks.\n\n t/t1405-main-ref-store.sh | 7 ++++---\n 1 file changed, 4 insertions(+), 3 deletions(-)\n\ndiff --git c/t/t1405-main-ref-store.sh w/t/t1405-main-ref-store.sh\nindex 3517f54961..9dc88d7580 100755\n--- c/t/t1405-main-ref-store.sh\n+++ w/t/t1405-main-ref-store.sh\n@@ -15,10 +15,11 @@ test_expect_success 'setup' '\n '\n \n test_expect_success REFFILES 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)' '\n-\tN=`find .git/refs -type f | wc -l` &&\n-\ttest \"$N\" != 0 &&\n+\tN=$(find .git/refs -type f | wc -l) &&\n+\ttest $N -ne 0 &&\n \t$RUN pack-refs 3 &&\n-\tN=`find .git/refs -type f | wc -l`\n+\tN=$(find .git/refs -type f | wc -l) &&\n+\ttest $N -eq 0\n '\n \n test_expect_success 'create_symref(FOO, refs/heads/main)' '\n"},{"id":"431064","messageId":"xmqqo8atndgu.fsf@gitster.g","threadId":"56128","inReplyTo":"f931a26de58e3cc7bb6522fab47e934aca7dc776.1626989327.git.gitgitgadget@gmail.com","subject":"Re: [PATCH v2 08/11] t1410: mark test as REFFILES","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-07-23T17:32:01Z","receivedAt":"2021-07-23T17:32:15Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Han-Wen Nienhuys via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> From: Han-Wen Nienhuys <hanwen@google.com>\n>\n> In reftable, one cannot take a lock on an individual ref.\n>\n> Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>\n> ---\n>  t/t1410-reflog.sh | 4 +++-\n>  1 file changed, 3 insertions(+), 1 deletion(-)\n\nMakes sense, I guess, but it makes it sound as if you can only take\na big single lock to freeze everything (as opposed to being able to\nwork on independent refs in parallel).  Is that what you meant to\nsay?\n\nA file somewhere in .git/refs/ directory shouldn't be a way to lock\na ref in the reftable world, either, so it doubly makes sense.\n\n> diff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh\n> index 27b9080251a..d42f067ff8c 100755\n> --- a/t/t1410-reflog.sh\n> +++ b/t/t1410-reflog.sh\n> @@ -374,7 +374,9 @@ test_expect_failure 'reflog with non-commit entries displays all entries' '\n>  \ttest_line_count = 3 actual\n>  '\n>  \n> -test_expect_success 'reflog expire operates on symref not referrent' '\n> +# This test takes a lock on an individual ref; this is not supported in\n> +# reftable.\n> +test_expect_success REFFILES 'reflog expire operates on symref not referrent' '\n>  \tgit branch --create-reflog the_symref &&\n>  \tgit branch --create-reflog referrent &&\n>  \tgit update-ref referrent HEAD &&\n"},{"id":"431067","messageId":"xmqqk0lhnd7x.fsf@gitster.g","threadId":"56128","inReplyTo":"3685ba90f60ef95892a22c8549c9a3c0717d6662.1626989327.git.gitgitgadget@gmail.com","subject":"Re: [PATCH v2 09/11] t7064: use update-ref -d to remove upstream branch","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-07-23T17:37:22Z","receivedAt":"2021-07-23T17:37:30Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Han-Wen Nienhuys via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n>  \t\t## Test upstream-gone case. Fake this by pointing\n>  \t\t## origin/initial-branch at a non-existing commit.\n> -\t\tOLD=$(git rev-parse origin/initial-branch) &&\n> -\t\tNEW=$ZERO_OID &&\n> -\t\tmv .git/packed-refs .git/old-packed-refs &&\n> -\t\tsed \"s/$OLD/$NEW/g\" <.git/old-packed-refs >.git/packed-refs &&\n> +\t\tgit update-ref -d refs/remotes/origin/initial-branch &&\n\nOK, so we now \"fake\" upstream-gone by making the upstream actually\ngone ;-)  OK.\n\n>  \n>  \t\tHUF=$(git rev-parse HEAD) &&\n"},{"id":"431068","messageId":"xmqqfsw5nd3c.fsf@gitster.g","threadId":"56128","inReplyTo":"81e46f955363fee8576b378f22273436e28b3675.1626989327.git.gitgitgadget@gmail.com","subject":"Re: [PATCH v2 11/11] t6001: avoid direct file system access","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-07-23T17:40:07Z","receivedAt":"2021-07-23T17:40:14Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Han-Wen Nienhuys via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> From: Han-Wen Nienhuys <hanwen@google.com>\n>\n> Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>\n> ---\n>  t/t6001-rev-list-graft.sh | 3 ++-\n>  1 file changed, 2 insertions(+), 1 deletion(-)\n>\n> diff --git a/t/t6001-rev-list-graft.sh b/t/t6001-rev-list-graft.sh\n> index 90d93f77fa7..7294147334a 100755\n> --- a/t/t6001-rev-list-graft.sh\n> +++ b/t/t6001-rev-list-graft.sh\n> @@ -23,7 +23,8 @@ test_expect_success setup '\n>  \tgit commit -a -m \"Third in one history.\" &&\n>  \tA2=$(git rev-parse --verify HEAD) &&\n>  \n> -\trm -f .git/refs/heads/main .git/index &&\n> +\tgit update-ref -d refs/heads/main &&\n> +\trm -f .git/index &&\n\nMakes sense.  We might want a further clean-up to avoid removing the\nindex file by hand but that is totally outside the scope of the\n\"refs\" series.\n\nThanks.\n"},{"id":"431069","messageId":"xmqqbl6tncw7.fsf@gitster.g","threadId":"56128","inReplyTo":"pull.1052.v2.git.git.1626989327.gitgitgadget@gmail.com","subject":"Re: [PATCH v2 00/11] Fix direct filesystem access in various test files.","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-07-23T17:44:24Z","receivedAt":"2021-07-23T17:44:27Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Han-Wen Nienhuys via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> This fixes a few test failures in the reftable series.\n\nThe early part is already in 'next', and the new ones looked mostly\ngood.\n\nI didn't quite understand what was going on with \"ls -1\" though\n(what does it even mean to \"ls -1\" enumerate only the filenames in\n.git/reftable directory)?\n\nThanks.\n"},{"id":"431688","messageId":"CAFQ2z_PjEuy2Ngr_i7c8rT6xb4w2HBEUARqwR7azZO4zor-w7g@mail.gmail.com","threadId":"56128","inReplyTo":"xmqqbl6tncw7.fsf@gitster.g","subject":"Re: [PATCH v2 00/11] Fix direct filesystem access in various test files.","fromName":"Han-Wen Nienhuys","fromEmail":"hanwen@google.com","sentAt":"2021-08-02T13:38:15Z","receivedAt":"2021-08-02T13:38:30Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"On Fri, Jul 23, 2021 at 7:44 PM Junio C Hamano <gitster@pobox.com> wrote:\n>\n> \"Han-Wen Nienhuys via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n>\n> > This fixes a few test failures in the reftable series.\n>\n> The early part is already in 'next', and the new ones looked mostly\n> good.\n>\n> I didn't quite understand what was going on with \"ls -1\" though\n> (what does it even mean to \"ls -1\" enumerate only the filenames in\n> .git/reftable directory)?\n\n\nBy listing the files before and after, we can make sure that the ref\nstorage wasn't changed.\n\n(perhaps \"find -type f\" is a better way to do this, though).\n\n-- \nHan-Wen Nienhuys - Google Munich\nI work 80%. Don't expect answers from me on Fridays.\n--\nGoogle Germany GmbH, Erika-Mann-Strasse 33, 80636 Munich\nRegistergericht und -nummer: Hamburg, HRB 86891\nSitz der Gesellschaft: Hamburg\nGeschäftsführer: Paul Manicle, Halimah DeLaine Prado\n"},{"id":"431709","messageId":"xmqqsfzrx14q.fsf@gitster.g","threadId":"56128","inReplyTo":"CAFQ2z_PjEuy2Ngr_i7c8rT6xb4w2HBEUARqwR7azZO4zor-w7g@mail.gmail.com","subject":"Re: [PATCH v2 00/11] Fix direct filesystem access in various test files.","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-08-02T16:27:49Z","receivedAt":"2021-08-02T16:27:53Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Han-Wen Nienhuys <hanwen@google.com> writes:\n\n> On Fri, Jul 23, 2021 at 7:44 PM Junio C Hamano <gitster@pobox.com> wrote:\n>>\n>> \"Han-Wen Nienhuys via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n>>\n>> > This fixes a few test failures in the reftable series.\n>>\n>> The early part is already in 'next', and the new ones looked mostly\n>> good.\n>>\n>> I didn't quite understand what was going on with \"ls -1\" though\n>> (what does it even mean to \"ls -1\" enumerate only the filenames in\n>> .git/reftable directory)?\n>\n>\n> By listing the files before and after, we can make sure that the ref\n> storage wasn't changed.\n\nMeaning that we rely on the fact that we never append to an existing\nfile?\n\nThanks.\n"},{"id":"431710","messageId":"xmqqr1fbx13k.fsf@gitster.g","threadId":"56128","inReplyTo":"CAFQ2z_PjEuy2Ngr_i7c8rT6xb4w2HBEUARqwR7azZO4zor-w7g@mail.gmail.com","subject":"Re: [PATCH v2 00/11] Fix direct filesystem access in various test files.","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-08-02T16:28:31Z","receivedAt":"2021-08-02T16:28:35Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Han-Wen Nienhuys <hanwen@google.com> writes:\n\n> On Fri, Jul 23, 2021 at 7:44 PM Junio C Hamano <gitster@pobox.com> wrote:\n>>\n>> \"Han-Wen Nienhuys via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n>>\n>> > This fixes a few test failures in the reftable series.\n>>\n>> The early part is already in 'next', and the new ones looked mostly\n>> good.\n>>\n>> I didn't quite understand what was going on with \"ls -1\" though\n>> (what does it even mean to \"ls -1\" enumerate only the filenames in\n>> .git/reftable directory)?\n>\n>\n> By listing the files before and after, we can make sure that the ref\n> storage wasn't changed.\n\nMeaning that we rely on the fact that we never append to an existing\nfile?  A comment here would have helped.\n\nThanks.\n"},{"id":"431712","messageId":"pull.1052.v3.git.git.1627923216.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v2.git.git.1626989327.gitgitgadget@gmail.com","subject":"[PATCH v3 00/11] Fix direct filesystem access in various test files.","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-08-02T16:53:25Z","receivedAt":"2021-08-02T16:53:40Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"This fixes a few test failures in the reftable series.\n\nHan-Wen Nienhuys (11):\n  t6050: use git-update-ref rather than filesystem access\n  t1503: mark symlink test as REFFILES\n  t6120: use git-update-ref rather than filesystem access\n  t3320: use git-symbolic-ref rather than filesystem access\n  t2402: use ref-store test helper to create broken symlink\n  t1405: use 'git reflog exists' to check reflog existence\n  t1405: mark test for 'git pack-refs' as REFFILES\n  t1410: mark test as REFFILES\n  t7064: use update-ref -d to remove upstream branch\n  t6500: use \"ls -1\" to snapshot ref database state\n  t6001: avoid direct file system access\n\n t/t1405-main-ref-store.sh        | 18 ++++++++++++------\n t/t1410-reflog.sh                |  4 +++-\n t/t1503-rev-parse-verify.sh      |  2 +-\n t/t2402-worktree-list.sh         |  2 +-\n t/t3320-notes-merge-worktrees.sh | 12 +++++++-----\n t/t6001-rev-list-graft.sh        |  3 ++-\n t/t6050-replace.sh               |  2 +-\n t/t6120-describe.sh              |  6 ++++--\n t/t6500-gc.sh                    |  5 +++--\n t/t7064-wtstatus-pv2.sh          |  5 +----\n 10 files changed, 35 insertions(+), 24 deletions(-)\n\n\nbase-commit: 940fe202adcbf9fa1825c648d97cbe1b90d26aec\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1052%2Fhanwen%2Ftest-fixes-v3-v3\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1052/hanwen/test-fixes-v3-v3\nPull-Request: https://github.com/git/git/pull/1052\n\nRange-diff vs v2:\n\n  1:  d7616038d88 =  1:  ad9fd570024 t6050: use git-update-ref rather than filesystem access\n  2:  cbd2128c331 =  2:  b03be9ede7f t1503: mark symlink test as REFFILES\n  3:  cbf90c13e5b =  3:  b62c3175c4c t6120: use git-update-ref rather than filesystem access\n  4:  7b98d092811 =  4:  22bff0b0791 t3320: use git-symbolic-ref rather than filesystem access\n  5:  0047266de6b =  5:  ceca139bcfc t2402: use ref-store test helper to create broken symlink\n  6:  eb2c53d19cf =  6:  add97ad8d0b t1405: use 'git reflog exists' to check reflog existence\n  7:  05dead16f1c !  7:  5f9a01fd86a t1405: mark test for 'git pack-refs' as REFFILES\n     @@ Metadata\n       ## Commit message ##\n          t1405: mark test for 'git pack-refs' as REFFILES\n      \n     -    The outcome of the pack-refs operation is not checked. This was apparently\n     -    forgotten in the commit introducing this test: 16feb99d (Mar 26 2017, \"t1405:\n     -    some basic tests on main ref store\").\n     +    The tests verifies that \"pack-refs\" causes loose refs to be packed. As both\n     +    loose and packed refs are concepts specific to the files backend, mark the test\n     +    as REFFILES.\n      \n     -    I tried adding the obvious check this, but it seems to fail on the freebsd_12\n     -    builder.\n     +    Check the outcome of the pack-refs operation. This was apparently forgotten in\n     +    the commit introducing this test: 16feb99d (Mar 26 2017, \"t1405: some basic\n     +    tests on main ref store\").\n      \n          Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>\n      \n     @@ t/t1405-main-ref-store.sh: export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME\n      +test_expect_success REFFILES 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)' '\n       \tN=`find .git/refs -type f | wc -l` &&\n       \ttest \"$N\" != 0 &&\n     - \t$RUN pack-refs 3 &&\n     +-\t$RUN pack-refs 3 &&\n     +-\tN=`find .git/refs -type f | wc -l`\n     ++\tALL_OR_PRUNE_FLAG=3 &&\n     ++\t$RUN pack-refs ${ALL_OR_PRUNE_FLAG} &&\n     ++\tN=`find .git/refs -type f` &&\n     ++\ttest -z \"$N\"\n     + '\n     + \n     + test_expect_success 'create_symref(FOO, refs/heads/main)' '\n  8:  f931a26de58 !  8:  45bc0772c64 t1410: mark test as REFFILES\n     @@ Metadata\n       ## Commit message ##\n          t1410: mark test as REFFILES\n      \n     -    In reftable, one cannot take a lock on an individual ref.\n     +    This test takes a lock on the target of a symref, and then verifies that it is\n     +    possible to expire the symref's reflog. In reftable, one can only take a global\n     +    lock (which would prevent the symref reflog from being expired altogether.)\n      \n          Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>\n      \n  9:  3685ba90f60 =  9:  1326e99a1fd t7064: use update-ref -d to remove upstream branch\n 10:  ccdbf3749fe ! 10:  55eb2094811 t6500: use \"ls -1\" to snapshot ref database state\n     @@ Commit message\n          By doing ls -1 .git/{reftable,refs/heads}, we can capture changes to both\n          reftable and packed/loose ref storage.\n      \n     +    This relies on the fact that git-pack-refs (which we're looking for here)\n     +    changes the number (loose/packed storage) and/or names (reftable) files used for\n     +    ref storage.\n     +\n          Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>\n      \n       ## t/t6500-gc.sh ##\n 11:  81e46f95536 = 11:  4a3418b7954 t6001: avoid direct file system access\n\n-- \ngitgitgadget\n"},{"id":"431713","messageId":"ad9fd5700242a991edcd2801b85914da2fa54f44.1627923216.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v3.git.git.1627923216.gitgitgadget@gmail.com","subject":"[PATCH v3 01/11] t6050: use git-update-ref rather than filesystem access","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-08-02T16:53:26Z","receivedAt":"2021-08-02T16:53:41Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t6050-replace.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/t/t6050-replace.sh b/t/t6050-replace.sh\nindex e33d512ec11..2500acc2ef8 100755\n--- a/t/t6050-replace.sh\n+++ b/t/t6050-replace.sh\n@@ -132,7 +132,7 @@ tagger T A Gger <> 0 +0000\n EOF\n \n test_expect_success 'tag replaced commit' '\n-     git mktag <tag.sig >.git/refs/tags/mytag\n+     git update-ref refs/tags/mytag $(git mktag <tag.sig)\n '\n \n test_expect_success '\"git fsck\" works' '\n-- \ngitgitgadget\n\n"},{"id":"431714","messageId":"b62c3175c4c86a3ae3a2a748dd1311306f1220ca.1627923216.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v3.git.git.1627923216.gitgitgadget@gmail.com","subject":"[PATCH v3 03/11] t6120: use git-update-ref rather than filesystem access","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-08-02T16:53:28Z","receivedAt":"2021-08-02T16:53:46Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t6120-describe.sh | 6 ++++--\n 1 file changed, 4 insertions(+), 2 deletions(-)\n\ndiff --git a/t/t6120-describe.sh b/t/t6120-describe.sh\nindex 1a501ee09e1..bae2419150b 100755\n--- a/t/t6120-describe.sh\n+++ b/t/t6120-describe.sh\n@@ -107,7 +107,8 @@ test_expect_success 'describe --contains defaults to HEAD without commit-ish' '\n check_describe tags/A --all A^0\n \n test_expect_success 'renaming tag A to Q locally produces a warning' \"\n-\tmv .git/refs/tags/A .git/refs/tags/Q &&\n+\tgit update-ref refs/tags/Q $(git rev-parse refs/tags/A) &&\n+\tgit update-ref -d refs/tags/A &&\n \tgit describe HEAD 2>err >out &&\n \tcat >expected <<-\\EOF &&\n \twarning: tag 'Q' is externally known as 'A'\n@@ -135,7 +136,8 @@ test_expect_success 'abbrev=0 will not break misplaced tag (2)' '\n '\n \n test_expect_success 'rename tag Q back to A' '\n-\tmv .git/refs/tags/Q .git/refs/tags/A\n+\tgit update-ref refs/tags/A $(git rev-parse refs/tags/Q) &&\n+\tgit update-ref -d refs/tags/Q\n '\n \n test_expect_success 'pack tag refs' 'git pack-refs'\n-- \ngitgitgadget\n\n"},{"id":"431715","messageId":"b03be9ede7f1462f35e5dcaf24a8c82cfc4d780f.1627923216.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v3.git.git.1627923216.gitgitgadget@gmail.com","subject":"[PATCH v3 02/11] t1503: mark symlink test as REFFILES","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-08-02T16:53:27Z","receivedAt":"2021-08-02T16:53:46Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t1503-rev-parse-verify.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/t/t1503-rev-parse-verify.sh b/t/t1503-rev-parse-verify.sh\nindex bf081023917..40958615ebb 100755\n--- a/t/t1503-rev-parse-verify.sh\n+++ b/t/t1503-rev-parse-verify.sh\n@@ -142,7 +142,7 @@ test_expect_success 'main@{n} for various n' '\n \ttest_must_fail git rev-parse --verify main@{$Np1}\n '\n \n-test_expect_success SYMLINKS 'ref resolution not confused by broken symlinks' '\n+test_expect_success SYMLINKS,REFFILES 'ref resolution not confused by broken symlinks' '\n \tln -s does-not-exist .git/refs/heads/broken &&\n \ttest_must_fail git rev-parse --verify broken\n '\n-- \ngitgitgadget\n\n"},{"id":"431716","messageId":"22bff0b0791ffa402b6cfb79ecaa589bf0617d85.1627923216.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v3.git.git.1627923216.gitgitgadget@gmail.com","subject":"[PATCH v3 04/11] t3320: use git-symbolic-ref rather than filesystem access","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-08-02T16:53:29Z","receivedAt":"2021-08-02T16:53:47Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t3320-notes-merge-worktrees.sh | 12 +++++++-----\n 1 file changed, 7 insertions(+), 5 deletions(-)\n\ndiff --git a/t/t3320-notes-merge-worktrees.sh b/t/t3320-notes-merge-worktrees.sh\nindex 052516e6c6a..6b2d507f3e7 100755\n--- a/t/t3320-notes-merge-worktrees.sh\n+++ b/t/t3320-notes-merge-worktrees.sh\n@@ -46,8 +46,9 @@ test_expect_success 'create some new worktrees' '\n test_expect_success 'merge z into y fails and sets NOTES_MERGE_REF' '\n \tgit config core.notesRef refs/notes/y &&\n \ttest_must_fail git notes merge z &&\n-\techo \"ref: refs/notes/y\" >expect &&\n-\ttest_cmp expect .git/NOTES_MERGE_REF\n+\techo \"refs/notes/y\" >expect &&\n+\tgit symbolic-ref NOTES_MERGE_REF >actual &&\n+\ttest_cmp expect actual\n '\n \n test_expect_success 'merge z into y while mid-merge in another workdir fails' '\n@@ -57,7 +58,7 @@ test_expect_success 'merge z into y while mid-merge in another workdir fails' '\n \t\ttest_must_fail git notes merge z 2>err &&\n \t\ttest_i18ngrep \"a notes merge into refs/notes/y is already in-progress at\" err\n \t) &&\n-\ttest_path_is_missing .git/worktrees/worktree/NOTES_MERGE_REF\n+\ttest_must_fail git -C worktree symbolic-ref NOTES_MERGE_REF\n '\n \n test_expect_success 'merge z into x while mid-merge on y succeeds' '\n@@ -68,8 +69,9 @@ test_expect_success 'merge z into x while mid-merge on y succeeds' '\n \t\ttest_i18ngrep \"Automatic notes merge failed\" out &&\n \t\tgrep -v \"A notes merge into refs/notes/x is already in-progress in\" out\n \t) &&\n-\techo \"ref: refs/notes/x\" >expect &&\n-\ttest_cmp expect .git/worktrees/worktree2/NOTES_MERGE_REF\n+\techo \"refs/notes/x\" >expect &&\n+\tgit -C worktree2 symbolic-ref NOTES_MERGE_REF >actual &&\n+\ttest_cmp expect actual\n '\n \n test_done\n-- \ngitgitgadget\n\n"},{"id":"431717","messageId":"ceca139bcfcb695a09fc20c4aa0acb5aa85494f4.1627923216.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v3.git.git.1627923216.gitgitgadget@gmail.com","subject":"[PATCH v3 05/11] t2402: use ref-store test helper to create broken symlink","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-08-02T16:53:30Z","receivedAt":"2021-08-02T16:53:48Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t2402-worktree-list.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/t/t2402-worktree-list.sh b/t/t2402-worktree-list.sh\nindex fedcefe8de3..4012bd67b04 100755\n--- a/t/t2402-worktree-list.sh\n+++ b/t/t2402-worktree-list.sh\n@@ -230,7 +230,7 @@ test_expect_success 'broken main worktree still at the top' '\n \t\tEOF\n \t\tcd linked &&\n \t\techo \"worktree $(pwd)\" >expected &&\n-\t\techo \"ref: .broken\" >../.git/HEAD &&\n+\t\t(cd ../ && test-tool ref-store main create-symref HEAD .broken ) &&\n \t\tgit worktree list --porcelain >out &&\n \t\thead -n 3 out >actual &&\n \t\ttest_cmp ../expected actual &&\n-- \ngitgitgadget\n\n"},{"id":"431718","messageId":"5f9a01fd86aa52db48176ee347abdca394af5f14.1627923216.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v3.git.git.1627923216.gitgitgadget@gmail.com","subject":"[PATCH v3 07/11] t1405: mark test for 'git pack-refs' as REFFILES","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-08-02T16:53:32Z","receivedAt":"2021-08-02T16:53:53Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nThe tests verifies that \"pack-refs\" causes loose refs to be packed. As both\nloose and packed refs are concepts specific to the files backend, mark the test\nas REFFILES.\n\nCheck the outcome of the pack-refs operation. This was apparently forgotten in\nthe commit introducing this test: 16feb99d (Mar 26 2017, \"t1405: some basic\ntests on main ref store\").\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t1405-main-ref-store.sh | 14 ++++++++++----\n 1 file changed, 10 insertions(+), 4 deletions(-)\n\ndiff --git a/t/t1405-main-ref-store.sh b/t/t1405-main-ref-store.sh\nindex 92b04873247..49718b7ea7f 100755\n--- a/t/t1405-main-ref-store.sh\n+++ b/t/t1405-main-ref-store.sh\n@@ -9,12 +9,18 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME\n \n RUN=\"test-tool ref-store main\"\n \n-test_expect_success 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)' '\n-\ttest_commit one &&\n+\n+test_expect_success 'setup' '\n+\ttest_commit one\n+'\n+\n+test_expect_success REFFILES 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)' '\n \tN=`find .git/refs -type f | wc -l` &&\n \ttest \"$N\" != 0 &&\n-\t$RUN pack-refs 3 &&\n-\tN=`find .git/refs -type f | wc -l`\n+\tALL_OR_PRUNE_FLAG=3 &&\n+\t$RUN pack-refs ${ALL_OR_PRUNE_FLAG} &&\n+\tN=`find .git/refs -type f` &&\n+\ttest -z \"$N\"\n '\n \n test_expect_success 'create_symref(FOO, refs/heads/main)' '\n-- \ngitgitgadget\n\n"},{"id":"431719","messageId":"45bc0772c64ee09a69122d3721271f827a21f909.1627923216.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v3.git.git.1627923216.gitgitgadget@gmail.com","subject":"[PATCH v3 08/11] t1410: mark test as REFFILES","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-08-02T16:53:33Z","receivedAt":"2021-08-02T16:53:54Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nThis test takes a lock on the target of a symref, and then verifies that it is\npossible to expire the symref's reflog. In reftable, one can only take a global\nlock (which would prevent the symref reflog from being expired altogether.)\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t1410-reflog.sh | 4 +++-\n 1 file changed, 3 insertions(+), 1 deletion(-)\n\ndiff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh\nindex 27b9080251a..d42f067ff8c 100755\n--- a/t/t1410-reflog.sh\n+++ b/t/t1410-reflog.sh\n@@ -374,7 +374,9 @@ test_expect_failure 'reflog with non-commit entries displays all entries' '\n \ttest_line_count = 3 actual\n '\n \n-test_expect_success 'reflog expire operates on symref not referrent' '\n+# This test takes a lock on an individual ref; this is not supported in\n+# reftable.\n+test_expect_success REFFILES 'reflog expire operates on symref not referrent' '\n \tgit branch --create-reflog the_symref &&\n \tgit branch --create-reflog referrent &&\n \tgit update-ref referrent HEAD &&\n-- \ngitgitgadget\n\n"},{"id":"431720","messageId":"1326e99a1fd1704e44b4f2d1a5731fe9da4d0a8a.1627923216.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v3.git.git.1627923216.gitgitgadget@gmail.com","subject":"[PATCH v3 09/11] t7064: use update-ref -d to remove upstream branch","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-08-02T16:53:34Z","receivedAt":"2021-08-02T16:53:55Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nThe previous code tested this by writing $ZERO_OID explicitly in the packed-refs\nfile. This is a type of corruption that doesn't reflect realistic use-cases. In\naddition, even the ref-store test-tool refuses to write invalid OIDs.\n(update-ref interprets $ZERO_OID is deleting the ref).\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t7064-wtstatus-pv2.sh | 5 +----\n 1 file changed, 1 insertion(+), 4 deletions(-)\n\ndiff --git a/t/t7064-wtstatus-pv2.sh b/t/t7064-wtstatus-pv2.sh\nindex 4613882caff..eeb0534163d 100755\n--- a/t/t7064-wtstatus-pv2.sh\n+++ b/t/t7064-wtstatus-pv2.sh\n@@ -373,10 +373,7 @@ test_expect_success 'verify upstream fields in branch header' '\n \n \t\t## Test upstream-gone case. Fake this by pointing\n \t\t## origin/initial-branch at a non-existing commit.\n-\t\tOLD=$(git rev-parse origin/initial-branch) &&\n-\t\tNEW=$ZERO_OID &&\n-\t\tmv .git/packed-refs .git/old-packed-refs &&\n-\t\tsed \"s/$OLD/$NEW/g\" <.git/old-packed-refs >.git/packed-refs &&\n+\t\tgit update-ref -d refs/remotes/origin/initial-branch &&\n \n \t\tHUF=$(git rev-parse HEAD) &&\n \n-- \ngitgitgadget\n\n"},{"id":"431721","messageId":"add97ad8d0bd72178db3aede79c6d34331d3d1da.1627923216.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v3.git.git.1627923216.gitgitgadget@gmail.com","subject":"[PATCH v3 06/11] t1405: use 'git reflog exists' to check reflog existence","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-08-02T16:53:31Z","receivedAt":"2021-08-02T16:53:56Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nThis fixes a test failure for reftable.\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t1405-main-ref-store.sh | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/t/t1405-main-ref-store.sh b/t/t1405-main-ref-store.sh\nindex a237d9880ea..92b04873247 100755\n--- a/t/t1405-main-ref-store.sh\n+++ b/t/t1405-main-ref-store.sh\n@@ -98,12 +98,12 @@ test_expect_success 'reflog_exists(HEAD)' '\n \n test_expect_success 'delete_reflog(HEAD)' '\n \t$RUN delete-reflog HEAD &&\n-\t! test -f .git/logs/HEAD\n+\ttest_must_fail git reflog exists HEAD\n '\n \n test_expect_success 'create-reflog(HEAD)' '\n \t$RUN create-reflog HEAD 1 &&\n-\ttest -f .git/logs/HEAD\n+\tgit reflog exists HEAD\n '\n \n test_expect_success 'delete_ref(refs/heads/foo)' '\n-- \ngitgitgadget\n\n"},{"id":"431722","messageId":"4a3418b795451aabf6b79b7d7f09e09fa9e5bbc5.1627923216.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v3.git.git.1627923216.gitgitgadget@gmail.com","subject":"[PATCH v3 11/11] t6001: avoid direct file system access","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-08-02T16:53:36Z","receivedAt":"2021-08-02T16:53:57Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t6001-rev-list-graft.sh | 3 ++-\n 1 file changed, 2 insertions(+), 1 deletion(-)\n\ndiff --git a/t/t6001-rev-list-graft.sh b/t/t6001-rev-list-graft.sh\nindex 90d93f77fa7..7294147334a 100755\n--- a/t/t6001-rev-list-graft.sh\n+++ b/t/t6001-rev-list-graft.sh\n@@ -23,7 +23,8 @@ test_expect_success setup '\n \tgit commit -a -m \"Third in one history.\" &&\n \tA2=$(git rev-parse --verify HEAD) &&\n \n-\trm -f .git/refs/heads/main .git/index &&\n+\tgit update-ref -d refs/heads/main &&\n+\trm -f .git/index &&\n \n \techo >fileA fileA again &&\n \techo >subdir/fileB fileB again &&\n-- \ngitgitgadget\n"},{"id":"431723","messageId":"55eb2094811cfdc7a9387f1b582784f11a1d16eb.1627923216.git.gitgitgadget@gmail.com","threadId":"56128","inReplyTo":"pull.1052.v3.git.git.1627923216.gitgitgadget@gmail.com","subject":"[PATCH v3 10/11] t6500: use \"ls -1\" to snapshot ref database state","fromName":"Han-Wen Nienhuys via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2021-08-02T16:53:35Z","receivedAt":"2021-08-02T16:53:58Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"From: Han-Wen Nienhuys <hanwen@google.com>\n\nBy doing ls -1 .git/{reftable,refs/heads}, we can capture changes to both\nreftable and packed/loose ref storage.\n\nThis relies on the fact that git-pack-refs (which we're looking for here)\nchanges the number (loose/packed storage) and/or names (reftable) files used for\nref storage.\n\nSigned-off-by: Han-Wen Nienhuys <hanwen@google.com>\n---\n t/t6500-gc.sh | 5 +++--\n 1 file changed, 3 insertions(+), 2 deletions(-)\n\ndiff --git a/t/t6500-gc.sh b/t/t6500-gc.sh\nindex 10c7ae7f09c..c2021267f2c 100755\n--- a/t/t6500-gc.sh\n+++ b/t/t6500-gc.sh\n@@ -241,7 +241,7 @@ test_expect_success 'background auto gc respects lock for all operations' '\n \n \t# create a ref whose loose presence we can use to detect a pack-refs run\n \tgit update-ref refs/heads/should-be-loose HEAD &&\n-\ttest_path_is_file .git/refs/heads/should-be-loose &&\n+\t(ls -1 .git/refs/heads .git/reftable >expect || true) &&\n \n \t# now fake a concurrent gc that holds the lock; we can use our\n \t# shell pid so that it looks valid.\n@@ -258,7 +258,8 @@ test_expect_success 'background auto gc respects lock for all operations' '\n \n \t# our gc should exit zero without doing anything\n \trun_and_wait_for_auto_gc &&\n-\ttest_path_is_file .git/refs/heads/should-be-loose\n+\t(ls -1 .git/refs/heads .git/reftable >actual || true) &&\n+\ttest_cmp expect actual\n '\n \n # DO NOT leave a detached auto gc process running near the end of the\n-- \ngitgitgadget\n\n"},{"id":"431724","messageId":"CAFQ2z_P=54uk-9r8rTcSvXd5g5Mj8S1GjziszanC6iNdTp4q8w@mail.gmail.com","threadId":"56128","inReplyTo":"xmqqr1fbx13k.fsf@gitster.g","subject":"Re: [PATCH v2 00/11] Fix direct filesystem access in various test files.","fromName":"Han-Wen Nienhuys","fromEmail":"hanwen@google.com","sentAt":"2021-08-02T16:53:43Z","receivedAt":"2021-08-02T16:56:03Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"On Mon, Aug 2, 2021 at 6:28 PM Junio C Hamano <gitster@pobox.com> wrote:\n> > By listing the files before and after, we can make sure that the ref\n> > storage wasn't changed.\n>\n> Meaning that we rely on the fact that we never append to an existing\n> file?  A comment here would have helped.\n\nAdded some more explanation.\n\nI addressed your comments for the other changes (but forgot to update\nthe cover letter :-/ )\n\n-- \nHan-Wen Nienhuys - Google Munich\nI work 80%. Don't expect answers from me on Fridays.\n--\n\nGoogle Germany GmbH, Erika-Mann-Strasse 33, 80636 Munich\n\nRegistergericht und -nummer: Hamburg, HRB 86891\n\nSitz der Gesellschaft: Hamburg\n\nGeschäftsführer: Paul Manicle, Halimah DeLaine Prado\n"},{"id":"431752","messageId":"xmqqsfzrvcex.fsf@gitster.g","threadId":"56128","inReplyTo":"pull.1052.v3.git.git.1627923216.gitgitgadget@gmail.com","subject":"Re: [PATCH v3 00/11] Fix direct filesystem access in various test files.","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-08-02T20:07:02Z","receivedAt":"2021-08-02T20:07:09Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Han-Wen Nienhuys via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> This fixes a few test failures in the reftable series.\n>\n> Han-Wen Nienhuys (11):\n>   t6050: use git-update-ref rather than filesystem access\n>   t1503: mark symlink test as REFFILES\n>   t6120: use git-update-ref rather than filesystem access\n>   t3320: use git-symbolic-ref rather than filesystem access\n>   t2402: use ref-store test helper to create broken symlink\n>   t1405: use 'git reflog exists' to check reflog existence\n>   t1405: mark test for 'git pack-refs' as REFFILES\n>   t1410: mark test as REFFILES\n>   t7064: use update-ref -d to remove upstream branch\n>   t6500: use \"ls -1\" to snapshot ref database state\n>   t6001: avoid direct file system access\n\nThanks.\n\nUnfortunately all of these are already in 'next', so I'll revert the\nmerge(s) to eliminate what has been in 'next' and queue this round\nto 'seen', hoping that we can merge the new one back to 'next'\nsoonish.\n\n"},{"id":"431765","messageId":"xmqqo8afv8gn.fsf@gitster.g","threadId":"56128","inReplyTo":"xmqqsfzrvcex.fsf@gitster.g","subject":"Re: [PATCH v3 00/11] Fix direct filesystem access in various test files.","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-08-02T21:32:24Z","receivedAt":"2021-08-02T21:32:30Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> \"Han-Wen Nienhuys via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n>\n>> This fixes a few test failures in the reftable series.\n>>\n>> Han-Wen Nienhuys (11):\n>>   t6050: use git-update-ref rather than filesystem access\n>>   t1503: mark symlink test as REFFILES\n>>   t6120: use git-update-ref rather than filesystem access\n>>   t3320: use git-symbolic-ref rather than filesystem access\n>>   t2402: use ref-store test helper to create broken symlink\n>>   t1405: use 'git reflog exists' to check reflog existence\n>>   t1405: mark test for 'git pack-refs' as REFFILES\n>>   t1410: mark test as REFFILES\n>>   t7064: use update-ref -d to remove upstream branch\n>>   t6500: use \"ls -1\" to snapshot ref database state\n>>   t6001: avoid direct file system access\n>\n> Thanks.\n>\n> Unfortunately all of these are already in 'next', so I'll revert the\n> merge(s) to eliminate what has been in 'next' and queue this round\n> to 'seen', hoping that we can merge the new one back to 'next'\n> soonish.\n\nSorry, but I changed my mind.  On the day for -rc0, I do not have\ntime to deal with this right now, so I'll keep a bookmark on this\nround for now, but will keep what has been on 'next' there for now.\n\nWill revisit this new round of patches later.\n\nThanks.\n"},{"id":"431809","messageId":"CAFQ2z_PALayJYY=cjhae25jimvF_xevLdYQw-w_cZ4D3nBswmw@mail.gmail.com","threadId":"56128","inReplyTo":"xmqqo8afv8gn.fsf@gitster.g","subject":"Re: [PATCH v3 00/11] Fix direct filesystem access in various test files.","fromName":"Han-Wen Nienhuys","fromEmail":"hanwen@google.com","sentAt":"2021-08-03T09:37:01Z","receivedAt":"2021-08-03T09:38:58Z","isPatch":true,"sender":{"key":"hanwen@google.com","avatar":"https://avatars.githubusercontent.com/u/31547?v=4"},"body":"On Mon, Aug 2, 2021 at 11:32 PM Junio C Hamano <gitster@pobox.com> wrote:\n> > Unfortunately all of these are already in 'next', so I'll revert the\n> > merge(s) to eliminate what has been in 'next' and queue this round\n> > to 'seen', hoping that we can merge the new one back to 'next'\n> > soonish.\n>\n> Sorry, but I changed my mind.  On the day for -rc0, I do not have\n> time to deal with this right now, so I'll keep a bookmark on this\n> round for now, but will keep what has been on 'next' there for now.\n>\n> Will revisit this new round of patches later.\n\nNo worries: I'll fix up whatever is necessary once the changes hit master.\n\n-- \nHan-Wen Nienhuys - Google Munich\nI work 80%. Don't expect answers from me on Fridays.\n--\n\nGoogle Germany GmbH, Erika-Mann-Strasse 33, 80636 Munich\n\nRegistergericht und -nummer: Hamburg, HRB 86891\n\nSitz der Gesellschaft: Hamburg\n\nGeschäftsführer: Paul Manicle, Halimah DeLaine Prado\n"}]}