Here is a small patch series to implement: git replace [-f] --graft <commit> [<parent>...] This patch series goes on top of the patch series that implements --edit. The changes since v4, thanks to Junio and Peff, are: - The series has been rebased on top of Peff's series to store the commit buffer length (jk/commit-buffer-length). This changes patch 1/7 and fixes the problem that we lost everything after a NUL byte in the commit buffer. - Patches 5/7, 6/7 and 7/7 have been added to lose a gpg signature in the original commit buffer. Notes: - Maybe patches could be reordered or squashed, but I prefered not to do it in this round so that changes compared to previous version are easier to spot. - Junio suggested to drop the merge-tag of a parent we are not going to keep, but to keep the merge-tag of a parent we are keeping. This has not yet been done. It is unfortunate that merge-tags don't use a format like the trailer format, because we could have factorised droping a merge-tag in the "git interpret-trailers" command. Christian Couder (7): replace: add --graft option replace: add test for --graft Documentation: replace: add --graft option contrib: add convert-grafts-to-replace-refs.sh replace: refactor replacing parents replace: remove signature when using --graft replace: add test for --graft with signed commit Documentation/git-replace.txt | 10 ++++ builtin/replace.c | 79 ++++++++++++++++++++++++++++++- commit.c | 34 +++++++++++++ commit.h | 2 + contrib/convert-grafts-to-replace-refs.sh | 28 +++++++++++ t/t6050-replace.sh | 34 +++++++++++++ 6 files changed, 186 insertions(+), 1 deletion(-) create mode 100755 contrib/convert-grafts-to-replace-refs.sh -- 2.0.0.421.g786a89d.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html