Re: [PATCH] merge: --ff-one-only to apply FF if commit is one
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 31, 2023, 00:19 UTC
- Message-ID
- <xmqq1qdb8wzk.fsf@gitster.g>
- In-Reply-To
- <ZUALkdSJZ70+KBYq@nand.local>
Taylor Blau <me@ttaylorr.com> writes:
Show 15 quoted lines
> This seems like a pretty niche feature to want to introduce a new option
> for. I would imagine the alternative is something like:
>
> ff="--no-ff"
> if test 1 -eq $(git rev-list @{u}..)
> then
> ff="--ff"
> fi
>
> [on upstream @{u}]
> git merge "$ff" "$branch"
>
> I don't have a great sense of how many users might want or benefit from
> something like this. My sense is that there aren't many, but I could
> very easily be wrong here.Another more fundamental objection is "Why do we special case only a singleton commit?"
Why isn't a trivial two-patch series also OK to fast-forward? Three? There is no inherent reason to draw a line on one commit topic---given that a single commit could be a large and involved one that could have been a multi commmit series.
And you cannot decide if the "topic" is large enough to deserve a binding merge commit even if it is a single commit topic, or if is small enough and you want to allow fast-forward, without looking at it first. So from that point of view, too, I do not think this new option is a good idea. Let's not add an option to encourage a bad discipline.
Thanks.