Subject: Re: [PATCH v2] pull: introduce --merge option

From: Felipe Contreras <[email-masked]>
Date: Wed, 28 Jul 2021 14:25:43 -0500

Junio C Hamano wrote:
> Matthias Baumgarten <[email-masked]> writes:
> 
> > Add to Felipes list:
> >
> >  * git switch -m
> >
> > and maybe git cherry-pick -m where -m does not mean "merge" itself but
> > is used to determine the parent of the merge (when picking merge 
> > commits) to base on.
> >
> > Other examples of where -m has different meaning than merge:
> >
> >  * git am -m (message-id)
> >  * git branch -m (move branch)
> >
> > I would rephrase the question as to what would I expect `git pull -m`
> > to do, if I had never heard of it before. In the case of
> > fast-forwarding and rebasing trying to add a merge commit message with
> > -m would not even make sense. Only in the case of trying to create a
> > merge commit by issuing git pull this would make sense. So if we could
> > agree on that being not the most used scenario, I think -m would be a
> > great short option for --merge.
> 
> I am afraid that you are misinterpreting what I said, comparing
> apples and oranges, and drawing a wrong conclusion.
> 
> When I said "-m" would not fly well as a short-hand for "--merge" in
> the context of "pull", I didn't mean "nobody would think 'm' stands
> for 'merge'", and I didn't mean "more people would think 'm' stands
> for 'message' more than 'merge'".  The reason why I find it
> problematic is because it can be ambiguous.

The question shouldn't be "can it be ambiguous?", the question should be
"is it ambiguous?".

The *main* purpose of `git pull` is to integrate remote changes, and the
first question asked is "how?".

  git pull --merge|-m
  git pull --rebase|-r

So I don't see why it is ambiguous.

The fact that a tiny minority of users might find a command (any command)
ambiguous is not valid reason for its inexistence. By that rationale
`git pull` shouldn't exist at all, because many find it ambiguous that
it's not the symmetric command opposed to `git push`.

The vast majority of users shouldn't suffer because of the confusion of
a tiny few. The tiny few can simply look at the documentation.

-- 
Felipe Contreras