Here is a small 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 v6, thanks to Junio, are: - the patch that adds for_each_mergetag() is not part of the series any more; it is managed by Junio in another dedicated series - replace_parents() iterates over all the argv it is passed, not just from argv[1] to argv[argc - 1], in patch 2/9 - in t6050-replace.sh, commit_buffer_contains_parents() has been simplified, in patch 3/9 - in t6050-replace.sh, there is now a space between function names and (), in patch 3/9 - in t6050-replace.sh, there has been a refactoring regarding how commit parenthood is tested, in patchs 3/9 and 7/9; we only use commit_has_parents() that now tests everything - in t6050-replace.sh, commit_buffer_contains_parents() compares the 'expected' and 'actual' files in the right order, in patch 3/9 We still error if the replacement commit that would be created would be the same as the existing one, as we already do when using --edit. If people care, I suggest they send a patch to change both --graft and --edit at the same time. Christian Couder (9): replace: cleanup redirection style in tests replace: add --graft option replace: add test for --graft Documentation: replace: add --graft option contrib: add convert-grafts-to-replace-refs.sh replace: remove signature when using --graft replace: add test for --graft with signed commit replace: check mergetags when using --graft replace: add test for --graft with a mergetag Documentation/git-replace.txt | 10 +++ builtin/replace.c | 126 ++++++++++++++++++++++++++- commit.c | 34 ++++++++ commit.h | 2 + contrib/convert-grafts-to-replace-refs.sh | 28 ++++++ t/t6050-replace.sh | 139 ++++++++++++++++++++++++------ 6 files changed, 313 insertions(+), 26 deletions(-) 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