]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t3903: document a pair of directory/file bugs
authorElijah Newren <newren@gmail.com>
Fri, 10 Sep 2021 10:29:54 +0000 (10:29 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 10 Sep 2021 22:46:34 +0000 (15:46 -0700)
There are three tests here, because the second bug is documented with
two tests: a file -> directory change and a directory -> file change.
The reason for the two tests is just to verify that both are indeed
broken but that both will be fixed by the same simple change (which will
be provided in a subsequent patch).

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3903-stash.sh

index 873aa56e359d6401b6cab262cfc70fcf9f94a45b..7346f8d10373fdf14f4302d92fe79888170961e8 100755 (executable)
@@ -1307,4 +1307,62 @@ test_expect_success 'stash -c stash.useBuiltin=false warning ' '
        test_must_be_empty err
 '
 
+test_expect_failure 'git stash succeeds despite directory/file change' '
+       test_create_repo directory_file_switch_v1 &&
+       (
+               cd directory_file_switch_v1 &&
+               test_commit init &&
+
+               test_write_lines this file has some words >filler &&
+               git add filler &&
+               git commit -m filler &&
+
+               git rm filler &&
+               mkdir filler &&
+               echo contents >filler/file &&
+               git stash push
+       )
+'
+
+test_expect_failure 'git stash can pop file -> directory saved changes' '
+       test_create_repo directory_file_switch_v2 &&
+       (
+               cd directory_file_switch_v2 &&
+               test_commit init &&
+
+               test_write_lines this file has some words >filler &&
+               git add filler &&
+               git commit -m filler &&
+
+               git rm filler &&
+               mkdir filler &&
+               echo contents >filler/file &&
+               cp filler/file expect &&
+               git stash push --include-untracked &&
+               git stash apply --index &&
+               test_cmp expect filler/file
+       )
+'
+
+test_expect_failure 'git stash can pop directory -> file saved changes' '
+       test_create_repo directory_file_switch_v3 &&
+       (
+               cd directory_file_switch_v3 &&
+               test_commit init &&
+
+               mkdir filler &&
+               test_write_lines some words >filler/file1 &&
+               test_write_lines and stuff >filler/file2 &&
+               git add filler &&
+               git commit -m filler &&
+
+               git rm -rf filler &&
+               echo contents >filler &&
+               cp filler expect &&
+               git stash push --include-untracked &&
+               git stash apply --index &&
+               test_cmp expect filler
+       )
+'
+
 test_done