Subject: Re: [Bug] git fetch --dry-run --filter makes changes to .git/config

From: Junio C Hamano <[email-masked]>
Date: Thu, 18 Sep 2025 13:28:28 -0700

Jeff King <[email-masked]> writes:

> It would probably be better if it established a separate tmp-objdir area
> (like we do for pushes before we commit to storing them), fetched the
> objects into that, and then threw away the result. That technique did
> not exist back when "fetch --dry-run" was added, but it probably
> wouldn't be too hard to do now.

It is true that the quarantine mechanism did not exist.  But I am
not sure if a true dryness is actually better.  We do verify that
the incoming objects thrown at us by the other side are healthy, so
the only difference is that our object database will have extra
unreachable objects that are known to be healthy between the time
you run a dry fetch and the time you then run a real one.  And these
extra objects that are healthy will help your real fetch go faster
if the dry fetch and real fetch are run back to back thanks to "do
we have all the necessary objects already, just that they may not be
connected to the refs yet?" check.

So it may not be hard with the building blocks, but I am not sure if
it is a good idea to do so in the first place.

Thanks.