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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html