Skip to content
  • Junio C Hamano's avatar
    merge: allow fast-forward when merging a tracked tag · adcc94a0
    Junio C Hamano authored
    Long time ago at fab47d05
    
     ("merge: force edit and no-ff mode when
    merging a tag object", 2011-11-07), "git merge" was made to always
    create a merge commit when merging a tag, even when the side branch
    being merged is a descendant of the current branch.
    
    This default is good for merges made by upstream maintainers to
    integrate work signed by downstream contributors, but will leave
    pointless no-ff merges when downstream contributors pull a newer
    release tag to make their long-running topic branches catch up with
    the upstream.  When there is no local work left on the topic, such a
    merge should simply fast-forward to the commit pointed at by the
    release tag.
    
    Update the default (again) for "git merge" that merges a tag object
    to (1) --no-ff (i.e. create a merge commit even when side branch
    fast forwards) if the tag being merged is not at its expected place
    in refs/tags/ hierarchy and (2) --ff (i.e. allow fast-forward update
    when able) otherwise.
    
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    adcc94a0