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

[PATCH v4 15/15] rebase -i: use "git sequencer--helper --cherry-pick"

From
Christian Couder <chriscool@tuxfamily.org>
Date
Aug 28, 2009, 04:47 UTC
Message-ID
<20090828044746.4307.98469.chriscool@tuxfamily.org>
In-Reply-To
<20090828043913.4307.34708.chriscool@tuxfamily.org>

instead of "git cherry-pick", as this will make it easier to port "git-rebase--interactive.sh" to C.

This is because we will be able to use the "do_cherry_pick()" added by a previous patch.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 git-rebase--interactive.sh |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index 7651fd6..349ca50 100755
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -147,7 +147,8 @@ pick_one () {
 		pick_one_preserving_merges "$@" && return
 	if test ! -z "$REBASE_ROOT"
 	then
-		output git cherry-pick "$@"
+		git sequencer--helper --cherry-pick $sha1 \
+			"$GIT_REFLOG_ACTION" "$VERBOSE" $no_ff
 		return
 	fi
 	parent_sha1=$(git rev-parse --verify $sha1^) ||
@@ -157,7 +158,8 @@ pick_one () {
 		git sequencer--helper --fast-forward $sha1 \
 			"$GIT_REFLOG_ACTION" "$VERBOSE"
 	else
-		output git cherry-pick "$@"
+		git sequencer--helper --cherry-pick $sha1 \
+			"$GIT_REFLOG_ACTION" "$VERBOSE" $no_ff
 	fi
 }
 
@@ -269,7 +271,10 @@ pick_one_preserving_merges () {
 			fi
 			;;
 		*)
-			output git cherry-pick "$@" ||
+			no_commit=
+			test "a$1" = "a-n" && no_commit=t
+			git sequencer--helper --cherry-pick $sha1 \
+				"$GIT_REFLOG_ACTION" "$VERBOSE" $no_commit ||
 				die_with_patch $sha1 "Could not pick $sha1"
 			;;
 		esac
-- 
1.6.4.271.ge010d
Previous: Christian Couder
Message 17 of 17 in “complete reroll of my "port rebase -i to C" series”
  1. 00/15 complete reroll of my "port rebase -i to C" seriesChristian Couder, Aug 28, 2009
  2. 01/15 sequencer: add "builtin-sequencer--helper.c"Christian Couder, Aug 28, 2009
  3. 02/15 sequencer: add "make_patch" function to save a patchChristian Couder, Aug 28, 2009
  4. 03/15 rebase -i: use "git sequencer--helper --make-patch"Christian Couder, Aug 28, 2009
  5. 04/15 sequencer: add "reset_almost_hard()" and related functionsChristian Couder, Aug 28, 2009
  6. Eric RaibleAug 28, 2009
  7. 05/15 sequencer: add "--reset-hard" option to "git sequencer--helper"Christian Couder, Aug 28, 2009
  8. 06/15 rebase -i: use "git sequencer--helper --reset-hard"Christian Couder, Aug 28, 2009
  9. 07/15 sequencer: add "do_fast_forward()" to perform a fast forwardChristian Couder, Aug 28, 2009
  10. 08/15 sequencer: add "--fast-forward" option to "git sequencer--helper"Christian Couder, Aug 28, 2009
  11. 09/15 sequencer: let "git sequencer--helper" callers set "allow_dirty"Christian Couder, Aug 28, 2009
  12. 10/15 rebase -i: use "git sequencer--helper --fast-forward"Christian Couder, Aug 28, 2009
  13. 11/15 revert: libify cherry-pick and revert functionnalityChristian Couder, Aug 28, 2009
  14. 12/15 pick: libify "pick_help_msg()"Christian Couder, Aug 28, 2009
  15. 13/15 sequencer: add "do_commit()" and related functions working on "next_commit"Christian Couder, Aug 28, 2009
  16. 14/15 sequencer: add "--cherry-pick" option to "git sequencer--helper"Christian Couder, Aug 28, 2009
  17. 15/15 rebase -i: use "git sequencer--helper --cherry-pick"Christian Couder, Aug 28, 2009

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.