[PATCH v2 1/3] stash: add test to ensure reflog --rewrite --updatref behavior
From: John Cai via GitGitGadget <hidden>
Date: 2022-02-22 18:31:01
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: John Cai <redacted> There is missing test coverage to ensure that the resulting reflogs after a git stash drop has had its old oid rewritten if applicable, and if the refs/stash has been updated if applicable. Add two tests that verify both of these happen. Helped-by: Ævar Arnfjörð Bjarmason [off-list ref] Signed-off-by: John Cai <redacted> --- t/t3903-stash.sh | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh
index b149e2af441..ec9cc5646d6 100755
--- a/t/t3903-stash.sh
+++ b/t/t3903-stash.sh@@ -185,10 +185,33 @@ test_expect_success 'drop middle stash by index' ' test 1 = $(git show HEAD:file) ' +test_expect_success 'drop stash reflog updates refs/stash' ' + git reset --hard && + git rev-parse refs/stash >expect && + echo 9 >file && + git stash && + git stash drop stash@{0} && + git rev-parse refs/stash >actual && + test_cmp expect actual +' + +test_expect_success 'drop stash reflog updates refs/stash with rewrite' ' + git reset --hard && + echo 9 >file && + git stash && + oid="$(git rev-parse stash@{0})" && + git stash drop stash@{1} && + cut -d" " -f1-2 .git/logs/refs/stash >actual && + cat >expect <<-EOF && + $(test_oid zero) $oid + EOF + test_cmp expect actual +' + test_expect_success 'stash pop' ' git reset --hard && git stash pop && - test 3 = $(cat file) && + test 9 = $(cat file) && test 1 = $(git show :file) && test 1 = $(git show HEAD:file) && test 0 = $(git stash list | wc -l)
--
gitgitgadget