[PATCH v5 0/7] Add --graft option to git replace
- From
Christian Couder <chriscool@tuxfamily.org>
- Date
- Jun 28, 2014, 18:11 UTC
- Message-ID
- <20140628171731.5687.30308.chriscool@tuxfamily.org>
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