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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to