Re: linux-next: unnecessary merge in the v4l-dvb tree
- From
Linus Torvalds <torvalds@linux-foundation.org>
- Date
- Feb 12, 2018, 21:15 UTC
- Message-ID
- <CA+55aFwM0vy+pw-Xv=gA19ULMwAXNPhdO3qR5A3hkMrZKJFNSQ@mail.gmail.com>
- In-Reply-To
- <20180213080036.3bf3a908@canb.auug.org.au>
On Mon, Feb 12, 2018 at 1:00 PM, Stephen Rothwell <sfr@canb.auug.org.au> 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.
Junio, comments?
Linus