Merge branch 'jc/allow-ff-merging-kept-tags'
authorJunio C Hamano <gitster@pobox.com>
Tue, 6 Mar 2018 22:54:04 +0000 (14:54 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 6 Mar 2018 22:54:04 +0000 (14:54 -0800)
commitf88590e67580572acd9c2f61fe4d652b9b2c779d
tree46d5f07dfc524dc0c1aa1cb012011d8fa441c24a
parentf65570719458833c20dfdee760bceee069c09056
parentadcc94a0aa7055be4133ebda8b25f4af63285c6d
Merge branch 'jc/allow-ff-merging-kept-tags'

Since Git 1.7.9, "git merge" defaulted to --no-ff (i.e. even when
the side branch being merged is a descendant of the current commit,
create a merge commit instead of fast-forwarding) when merging a
tag object.  This was appropriate default for integrators who pull
signed tags from their downstream contributors, but caused an
unnecessary merges when used by downstream contributors who
habitually "catch up" their topic branches with tagged releases
from the upstream.  Update "git merge" to default to --no-ff only
when merging a tag object that does *not* sit at its usual place in
refs/tags/ hierarchy, and allow fast-forwarding otherwise, to
mitigate the problem.

* jc/allow-ff-merging-kept-tags:
  merge: allow fast-forward when merging a tracked tag
builtin/merge.c