Subject: Re: [PATCH] pull: add pull.autoStash config option

From: Junio C Hamano <[email-masked]>
Date: Wed, 16 Jul 2025 22:48:36 -0700

Lidong Yan <[email-masked]> writes:

> Yeah. Though I considered that when pull.rebase = false, checking
> merge.autoStash instead of rebase.autoStashmight confuse users
> who rely on setting rebase.autoStash for their merge operations.

Yes, that would be a behaviour change, but it is just one time
thing.  You notice your "git pull" do not autostash and instead
stops, you scratch your head and go read the documentation, and set
pull.autostash to true (which as I said I would not necessarily
recommend) or merge.autostash to true (which may not be as bad) and
move on.

I didn't consider it when I wrote my earlier message, but I like
your idea of defeating rebase.autostash and merge.autostash when
pull.autostash is explicitly set to false very much.  With it, users
can set {rebase,merge}.autostash to true so that their local rebases
and merges, for which they are familiar with what both sides did,
would autostash (and autounstash), and set pull.autostash to false
so their "git pull" would be stopped when they have local changes
that would interfere with the operation, if they wanted to.

Thanks.