git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v7 0/9] Add --graft option to git replace

From
Christian Couder <chriscool@tuxfamily.org>
Date
Jul 19, 2014, 15:01 UTC
Message-ID
<20140719145951.9564.61331.chriscool@tuxfamily.org>
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
Next: Christian Couder
Message 1 of 11 in “Add --graft option to git replace”
  1. 0/9 Add --graft option to git replaceChristian Couder, Jul 19, 2014
  2. 1/9 replace: cleanup redirection style in testsChristian Couder, Jul 19, 2014
  3. 2/9 replace: add --graft optionChristian Couder, Jul 19, 2014
  4. 3/9 replace: add test for --graftChristian Couder, Jul 19, 2014
  5. 4/9 Documentation: replace: add --graft optionChristian Couder, Jul 19, 2014
  6. 5/9 contrib: add convert-grafts-to-replace-refs.shChristian Couder, Jul 19, 2014
  7. 6/9 replace: remove signature when using --graftChristian Couder, Jul 19, 2014
  8. 7/9 replace: add test for --graft with signed commitChristian Couder, Jul 19, 2014
  9. 8/9 replace: check mergetags when using --graftChristian Couder, Jul 19, 2014
  10. 9/9 replace: add test for --graft with a mergetagChristian Couder, Jul 19, 2014
  11. Junio C HamanoJul 21, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.