Deprecate support for .git/info/grafts
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Sat, 28 Apr 2018 22:44:44 +0000 (00:44 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 30 Apr 2018 02:12:31 +0000 (11:12 +0900)
commitf9f99b3f7d06716336b239bcf122eb5a7348bfd5
tree2a7813e7ae8389cfef632073f4d5f654a53bfef7
parent0115e030db499853a77c2b92dc8c6a51552009ef
Deprecate support for .git/info/grafts

The grafts feature was a convenient way to "stitch together" ancient
history to the fresh start of linux.git.

Its implementation is, however, not up to Git's standards, as there are
too many ways where it can lead to surprising and unwelcome behavior.

For example, when pushing from a repository with active grafts, it is
possible to miss commits that have been "grafted out", resulting in a
broken state on the other side.

Also, the grafts feature is limited to "rewriting" commits' list of
parents, it cannot replace anything else.

The much younger feature implemented as `git replace` set out to remedy
those limitations and dangerous bugs.

Seeing as `git replace` is pretty mature by now (since 4228e8bc98
(replace: add --graft option, 2014-07-19) it can perform the graft
file's duties), it is time to deprecate support for the graft file, and
to retire it eventually.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Reviewed-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
advice.c
advice.h
commit.c
t/t6001-rev-list-graft.sh