Subject: Re: [PATCH 1/3] t3903: document a pair of directory/file bugs

From: Junio C Hamano <[email-masked]>
Date: Wed, 08 Sep 2021 09:19:22 -0700

"Elijah Newren via GitGitGadget" <[email-masked]> writes:

> From: Elijah Newren <[email-masked]>
>
> Signed-off-by: Elijah Newren <[email-masked]>
> ---
>  t/t3903-stash.sh | 38 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
>
> diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh
> index 873aa56e359..0727a494aa4 100755
> --- a/t/t3903-stash.sh
> +++ b/t/t3903-stash.sh
> @@ -1307,4 +1307,42 @@ 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 &&
> +		cp filler/file expect &&
> +		git stash push

Creating 'expect' that is not used---perhaps this side also wants to
apply the created stash and check the result, like the other side
does, or something?

Of course, an obvious alternative is to stop making a needless
'expect'.

> +	)
> +'
> +
> +test_expect_failure 'git stash can pop directory/file 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_done