Re: linux-next: unnecessary merge in the v4l-dvb tree
- Date: Mon, 12 Feb 2018 13:15:04 -0800
- From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
- Subject: Re: linux-next: unnecessary merge in the v4l-dvb tree
On Mon, Feb 12, 2018 at 1:00 PM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> Linus, this happens a bit after the merge window, so I am wondering
> about the rational of not doing a fast forward merge when merging a
> signed tag (I forget the reasoning).
The reasoning is to avoid losing the signature from the tag (when
merging a signed tag, the signature gets inserted into the merge
commit itself - use "git log --show-signature" to see them).
So when I merge a signed tag, I do *not* want to fast-forward to the
top commit, because then I'd lose the signature from the tag. Thus the
"merging signed tags are non-fast-forward by default" reasoning.
But, yes, that reasoning is really only valid for proper merges of new
features, not for back-merges.
The problem, of course, is that since git is distributed, git doesn't
know who is "upstream" and who is "downstream", so there's no
_technical_ difference between merging a development tree, and a
development tree doing a back-merge of the upstream tree.
Maybe it was a mistake to make signed tag merges non-fast-forward,
since they cause these kinds of issues with people who use "pull" to
update their otherwise unmodified trees.
I can always teach myself to just use --no-ff, since I end up doing
things like verifying at the signatures anyway.