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

- replace_parents() iterates over all the argv it is passed,
  not just from argv[1] to argv[argc - 1], in patch 2/9

- in, commit_buffer_contains_parents() has
  been simplified, in patch 3/9

- in, there is now a space between function
  names and (), in patch 3/9

- in, 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, 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
  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/ |  28 ++++++
 t/                        | 139 ++++++++++++++++++++++++------
 6 files changed, 313 insertions(+), 26 deletions(-)
 create mode 100755 contrib/


To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to