Git development
 help / color / mirror / Atom feed
* [PATCH] t3420-rebase-autostash: don't try to grep non-existing files
@ 2021-10-10 17:28 SZEDER Gábor
  2026-06-27  6:59 ` SZEDER Gábor
  0 siblings, 1 reply; 4+ messages in thread
From: SZEDER Gábor @ 2021-10-10 17:28 UTC (permalink / raw)
  To: git; +Cc: Denton Liu, SZEDER Gábor

Several tests in 't3420-rebase-autostash.sh' start various rebase
processes that are expected to fail because of merge conflicts.  The
tests [1] checking that 'git rebase --quit' and autostash work
together as expected after such a failure then run '! grep ...' to
ensure that the dirty contents of the file is gone.  However, due to
the test repo's history and the choice of upstream branch that file
shouldn't exist in the conflicted state at all, and thus it shouldn't
exist after the subsequent 'git rebase --quit' either.  Consequently,
this 'grep' doesn't fail as expected, i.e. because it can't find the
dirty content, but instead it fails, because it can't open the file.

Thighten this check by using 'test_path_is_missing' instead, thereby
avoiding unexpected errors from 'grep' as well.

Previously 2745817028 (t3420-rebase-autostash: don't try to grep
non-existing files, 2018-08-22) fixed a couple of similar issues; this
one was added later in 9b2df3e8d0 (rebase: save autostash entry into
stash reflog on --quit, 2020-04-28).

[1] This patch modifies only a single test, but that test is run
    several times with different strategies ('--apply', '--merge', and
    '--interactive'), hence the plural "tests".

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
---
 t/t3420-rebase-autostash.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/t3420-rebase-autostash.sh b/t/t3420-rebase-autostash.sh
index 43fcb68f27..bbe82d2c0c 100755
--- a/t/t3420-rebase-autostash.sh
+++ b/t/t3420-rebase-autostash.sh
@@ -200,7 +200,7 @@ testrebase () {
 		git rebase --quit &&
 		test_when_finished git stash drop &&
 		test_path_is_missing $dotest/autostash &&
-		! grep dirty file3 &&
+		test_path_is_missing file3 &&
 		git stash show -p >actual &&
 		test_cmp expect actual &&
 		git reset --hard &&
-- 
2.33.0.1279.g1a260bf8c2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] t3420-rebase-autostash: don't try to grep non-existing files
  2021-10-10 17:28 [PATCH] t3420-rebase-autostash: don't try to grep non-existing files SZEDER Gábor
@ 2026-06-27  6:59 ` SZEDER Gábor
  2026-06-27  9:03   ` Phillip Wood
  2026-06-27 14:27   ` Todd Zullinger
  0 siblings, 2 replies; 4+ messages in thread
From: SZEDER Gábor @ 2026-06-27  6:59 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano, Michael Montalbo, Denton Liu

On Sun, Oct 10, 2021 at 07:28:09PM +0200, SZEDER Gábor wrote:
> Several tests in 't3420-rebase-autostash.sh' start various rebase
> processes that are expected to fail because of merge conflicts.  The
> tests [1] checking that 'git rebase --quit' and autostash work
> together as expected after such a failure then run '! grep ...' to
> ensure that the dirty contents of the file is gone.  However, due to
> the test repo's history and the choice of upstream branch that file
> shouldn't exist in the conflicted state at all, and thus it shouldn't
> exist after the subsequent 'git rebase --quit' either.  Consequently,
> this 'grep' doesn't fail as expected, i.e. because it can't find the
> dirty content, but instead it fails, because it can't open the file.
> 
> Thighten this check by using 'test_path_is_missing' instead, thereby
> avoiding unexpected errors from 'grep' as well.
> 
> Previously 2745817028 (t3420-rebase-autostash: don't try to grep
> non-existing files, 2018-08-22) fixed a couple of similar issues; this
> one was added later in 9b2df3e8d0 (rebase: save autostash entry into
> stash reflog on --quit, 2020-04-28).
> 
> [1] This patch modifies only a single test, but that test is run
>     several times with different strategies ('--apply', '--merge', and
>     '--interactive'), hence the plural "tests".
> 
> Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
> ---
>  t/t3420-rebase-autostash.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/t/t3420-rebase-autostash.sh b/t/t3420-rebase-autostash.sh
> index 43fcb68f27..bbe82d2c0c 100755
> --- a/t/t3420-rebase-autostash.sh
> +++ b/t/t3420-rebase-autostash.sh
> @@ -200,7 +200,7 @@ testrebase () {
>  		git rebase --quit &&
>  		test_when_finished git stash drop &&
>  		test_path_is_missing $dotest/autostash &&
> -		! grep dirty file3 &&
> +		test_path_is_missing file3 &&
>  		git stash show -p >actual &&
>  		test_cmp expect actual &&
>  		git reset --hard &&
> -- 
> 2.33.0.1279.g1a260bf8c2

It appears that this patch might have fallen quite deep through the
cracks... ;)

But the issue this patch is addressing is still there, and the patch
still applies cleanly after almost 5 years.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] t3420-rebase-autostash: don't try to grep non-existing files
  2026-06-27  6:59 ` SZEDER Gábor
@ 2026-06-27  9:03   ` Phillip Wood
  2026-06-27 14:27   ` Todd Zullinger
  1 sibling, 0 replies; 4+ messages in thread
From: Phillip Wood @ 2026-06-27  9:03 UTC (permalink / raw)
  To: SZEDER Gábor, git; +Cc: Junio C Hamano, Michael Montalbo, Denton Liu

On 27/06/2026 07:59, SZEDER Gábor wrote:
> On Sun, Oct 10, 2021 at 07:28:09PM +0200, SZEDER Gábor wrote:
>> diff --git a/t/t3420-rebase-autostash.sh b/t/t3420-rebase-autostash.sh
>> index 43fcb68f27..bbe82d2c0c 100755
>> --- a/t/t3420-rebase-autostash.sh
>> +++ b/t/t3420-rebase-autostash.sh
>> @@ -200,7 +200,7 @@ testrebase () {

With an extra context line we see

		test_path_is_missing file3 &&>>   		git rebase --quit &&
>>   		test_when_finished git stash drop &&
>>   		test_path_is_missing $dotest/autostash &&
>> -		! grep dirty file3 &&
>> +		test_path_is_missing file3 &&

and so it is quite clear that this change is correct

Thanks

Phillip

>>   		git stash show -p >actual &&
>>   		test_cmp expect actual &&
>>   		git reset --hard &&
>> -- 
>> 2.33.0.1279.g1a260bf8c2
> 
> It appears that this patch might have fallen quite deep through the
> cracks... ;)
> 
> But the issue this patch is addressing is still there, and the patch
> still applies cleanly after almost 5 years.
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] t3420-rebase-autostash: don't try to grep non-existing files
  2026-06-27  6:59 ` SZEDER Gábor
  2026-06-27  9:03   ` Phillip Wood
@ 2026-06-27 14:27   ` Todd Zullinger
  1 sibling, 0 replies; 4+ messages in thread
From: Todd Zullinger @ 2026-06-27 14:27 UTC (permalink / raw)
  To: SZEDER Gábor; +Cc: git, Junio C Hamano, Michael Montalbo, Denton Liu

SZEDER Gábor wrote:
> On Sun, Oct 10, 2021 at 07:28:09PM +0200, SZEDER Gábor wrote:
>> Several tests in 't3420-rebase-autostash.sh' start various rebase
>> processes that are expected to fail because of merge conflicts.  The
>> tests [1] checking that 'git rebase --quit' and autostash work
>> together as expected after such a failure then run '! grep ...' to
>> ensure that the dirty contents of the file is gone.  However, due to
>> the test repo's history and the choice of upstream branch that file
>> shouldn't exist in the conflicted state at all, and thus it shouldn't
>> exist after the subsequent 'git rebase --quit' either.  Consequently,
>> this 'grep' doesn't fail as expected, i.e. because it can't find the
>> dirty content, but instead it fails, because it can't open the file.
>> 
>> Thighten this check by using 'test_path_is_missing' instead, thereby
>> avoiding unexpected errors from 'grep' as well.

Thighten -> Tighten

-- 
Todd

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-06-27 14:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-10 17:28 [PATCH] t3420-rebase-autostash: don't try to grep non-existing files SZEDER Gábor
2026-06-27  6:59 ` SZEDER Gábor
2026-06-27  9:03   ` Phillip Wood
2026-06-27 14:27   ` Todd Zullinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox