Subject: Re: Regression in `git diff --quiet HEAD` when a new file is staged

From: Junio C Hamano <[email-masked]>
Date: Wed, 22 Oct 2025 07:31:44 -0700

Lidong Yan <[email-masked]> writes:

>> + diff_free_file(o);
>> + o->file = xfopen("/dev/null", "w");
>> + o->close_file = 1;
>> + o->color_moved = 0;
>> o->dry_run = 1;
>> o->found_changes = 0;
>> diff_flush_patch(p, o);
>> 
>
> This would make everything going to "/dev/null" after the flush_quietly() call.
> I think we need to restore o->file.

Ah, true, the original location was only for NO_OUTPUT but the other
caller to the diff_flush_patch_quietly() helper does deal with other
cases as well.

Thanks.