git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Felipe Contreras <felipe.contreras@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
	Ramkumar Ramachandra <artagnon@gmail.com>,
	Jonathan Nieder <jrnieder@gmail.com>,
	Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>,
	Felipe Contreras <felipe.contreras@gmail.com>
Subject: [PATCH v4 35/45] rebase: remove merge mode
Date: Sun,  9 Jun 2013 11:40:47 -0500	[thread overview]
Message-ID: <1370796057-25312-36-git-send-email-felipe.contreras@gmail.com> (raw)
In-Reply-To: <1370796057-25312-1-git-send-email-felipe.contreras@gmail.com>

The cherrypick mode does the job.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 Makefile                         |   1 -
 contrib/completion/git-prompt.sh |   4 +-
 git-rebase--merge.sh             | 151 ---------------------------------------
 git-rebase.sh                    |  13 +---
 t/t3406-rebase-message.sh        |  15 ----
 t/t9903-bash-prompt.sh           |   2 +-
 6 files changed, 3 insertions(+), 183 deletions(-)
 delete mode 100644 git-rebase--merge.sh

diff --git a/Makefile b/Makefile
index 4719979..609fa9e 100644
--- a/Makefile
+++ b/Makefile
@@ -475,7 +475,6 @@ SCRIPT_LIB += git-parse-remote
 SCRIPT_LIB += git-rebase--am
 SCRIPT_LIB += git-rebase--cherrypick
 SCRIPT_LIB += git-rebase--interactive
-SCRIPT_LIB += git-rebase--merge
 SCRIPT_LIB += git-sh-setup
 SCRIPT_LIB += git-sh-i18n
 
diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh
index 3d10f21..5036795 100644
--- a/contrib/completion/git-prompt.sh
+++ b/contrib/completion/git-prompt.sh
@@ -352,12 +352,10 @@ __git_ps1 ()
 			total=$(cat "$g/rebase-merge/end")
 			if [ -f "$g/rebase-merge/interactive" ]; then
 				r="|REBASE-i"
-			elif [ -f "$g/rebase-merge/cherrypick" ]; then
+			else
 				r="|REBASE"
 				step=$(cat "$g/sequencer/rewritten" | wc -l)
 				let step+=1
-			else
-				r="|REBASE-m"
 			fi
 		else
 			if [ -d "$g/rebase-apply" ]; then
diff --git a/git-rebase--merge.sh b/git-rebase--merge.sh
deleted file mode 100644
index 16d1817..0000000
--- a/git-rebase--merge.sh
+++ /dev/null
@@ -1,151 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2010 Junio C Hamano.
-#
-
-prec=4
-
-read_state () {
-	onto_name=$(cat "$state_dir"/onto_name) &&
-	end=$(cat "$state_dir"/end) &&
-	msgnum=$(cat "$state_dir"/msgnum)
-}
-
-continue_merge () {
-	test -d "$state_dir" || die "$state_dir directory does not exist"
-
-	unmerged=$(git ls-files -u)
-	if test -n "$unmerged"
-	then
-		echo "You still have unmerged paths in your index"
-		echo "did you forget to use git add?"
-		die "$resolvemsg"
-	fi
-
-	cmt=`cat "$state_dir/current"`
-	if ! git diff-index --quiet --ignore-submodules HEAD --
-	then
-		if ! git commit --no-verify -C "$cmt"
-		then
-			echo "Commit failed, please do not call \"git commit\""
-			echo "directly, but instead do one of the following: "
-			die "$resolvemsg"
-		fi
-		if test -z "$GIT_QUIET"
-		then
-			printf "Committed: %0${prec}d " $msgnum
-		fi
-		echo "$cmt $(git rev-parse HEAD^0)" >> "$state_dir/rewritten"
-	else
-		if test -z "$GIT_QUIET"
-		then
-			printf "Already applied: %0${prec}d " $msgnum
-		fi
-	fi
-	test -z "$GIT_QUIET" &&
-	GIT_PAGER='' git log --format=%s -1 "$cmt"
-
-	# onto the next patch:
-	msgnum=$(($msgnum + 1))
-	echo "$msgnum" >"$state_dir/msgnum"
-}
-
-call_merge () {
-	cmt="$(cat "$state_dir/cmt.$1")"
-	echo "$cmt" > "$state_dir/current"
-	hd=$(git rev-parse --verify HEAD)
-	cmt_name=$(git symbolic-ref HEAD 2> /dev/null || echo HEAD)
-	msgnum=$(cat "$state_dir/msgnum")
-	eval GITHEAD_$cmt='"${cmt_name##refs/heads/}~$(($end - $msgnum))"'
-	eval GITHEAD_$hd='$onto_name'
-	export GITHEAD_$cmt GITHEAD_$hd
-	if test -n "$GIT_QUIET"
-	then
-		GIT_MERGE_VERBOSITY=1 && export GIT_MERGE_VERBOSITY
-	fi
-	test -z "$strategy" && strategy=recursive
-	eval 'git-merge-$strategy' $strategy_opts '"$cmt^" -- "$hd" "$cmt"'
-	rv=$?
-	case "$rv" in
-	0)
-		unset GITHEAD_$cmt GITHEAD_$hd
-		return
-		;;
-	1)
-		git rerere $allow_rerere_autoupdate
-		die "$resolvemsg"
-		;;
-	2)
-		echo "Strategy: $strategy failed, try another" 1>&2
-		die "$resolvemsg"
-		;;
-	*)
-		die "Unknown exit code ($rv) from command:" \
-			"git-merge-$strategy $cmt^ -- HEAD $cmt"
-		;;
-	esac
-}
-
-finish_rb_merge () {
-	move_to_original_branch
-	if test -s "$state_dir"/rewritten
-	then
-		git notes copy --for-rewrite=rebase <"$state_dir"/rewritten
-		if test -x "$GIT_DIR"/hooks/post-rewrite
-		then
-			"$GIT_DIR"/hooks/post-rewrite rebase <"$state_dir"/rewritten
-		fi
-	fi
-	say All done.
-}
-
-case "$action" in
-continue)
-	read_state
-	continue_merge
-	while test "$msgnum" -le "$end"
-	do
-		call_merge "$msgnum"
-		continue_merge
-	done
-	finish_rb_merge
-	return
-	;;
-skip)
-	read_state
-	git rerere clear
-	msgnum=$(($msgnum + 1))
-	while test "$msgnum" -le "$end"
-	do
-		call_merge "$msgnum"
-		continue_merge
-	done
-	finish_rb_merge
-	return
-	;;
-esac
-
-mkdir -p "$state_dir"
-echo "$onto_name" > "$state_dir/onto_name"
-write_basic_state
-
-msgnum=0
-for cmt in `git rev-list --reverse --no-merges "$revisions"`
-do
-	msgnum=$(($msgnum + 1))
-	echo "$cmt" > "$state_dir/cmt.$msgnum"
-done
-
-echo 1 >"$state_dir/msgnum"
-echo $msgnum >"$state_dir/end"
-
-end=$msgnum
-msgnum=1
-
-while test "$msgnum" -le "$end"
-do
-	call_merge "$msgnum"
-	continue_merge
-done
-
-finish_rb_merge
diff --git a/git-rebase.sh b/git-rebase.sh
index f2efff9..8ddf270 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -59,7 +59,6 @@ unset onto
 cmd=
 strategy=
 strategy_opts=
-do_merge=
 merge_dir="$GIT_DIR"/rebase-merge
 apply_dir="$GIT_DIR"/rebase-apply
 verbose=
@@ -205,11 +204,8 @@ then
 	then
 		type=interactive
 		interactive_rebase=explicit
-	elif test -f "$merge_dir"/cherrypick
-	then
-		type=cherrypick
 	else
-		type=merge
+		type=cherrypick
 	fi
 	state_dir="$merge_dir"
 fi
@@ -256,18 +252,15 @@ do
 		autosquash=
 		;;
 	-M|-m)
-		do_merge=t
 		;;
 	-X)
 		shift
 		strategy_opts="$strategy_opts $(git rev-parse --sq-quote "--$1")"
-		do_merge=t
 		test -z "$strategy" && strategy=recursive
 		;;
 	-s)
 		shift
 		strategy="$1"
-		do_merge=t
 		;;
 	-n)
 		diffstat=
@@ -412,10 +405,6 @@ if test -n "$interactive_rebase"
 then
 	type=interactive
 	state_dir="$merge_dir"
-elif test -n "$do_merge"
-then
-	type=merge
-	state_dir="$merge_dir"
 elif test -n "$git_am_opt"
 then
 	type=am
diff --git a/t/t3406-rebase-message.sh b/t/t3406-rebase-message.sh
index e6a9a0d..37d19c5 100755
--- a/t/t3406-rebase-message.sh
+++ b/t/t3406-rebase-message.sh
@@ -27,21 +27,6 @@ test_expect_success setup '
 
 '
 
-cat >expect <<\EOF
-Already applied: 0001 A
-Already applied: 0002 B
-Committed: 0003 Z
-EOF
-
-test_expect_success 'rebase -m' '
-
-	git rebase -m master >report &&
-	sed -n -e "/^Already applied: /p" \
-		-e "/^Committed: /p" report >actual &&
-	test_cmp expect actual
-
-'
-
 test_expect_success 'rebase --stat' '
 	git reset --hard start &&
         git rebase --stat master >diffstat.txt &&
diff --git a/t/t9903-bash-prompt.sh b/t/t9903-bash-prompt.sh
index 15521cc..2e46f93 100755
--- a/t/t9903-bash-prompt.sh
+++ b/t/t9903-bash-prompt.sh
@@ -266,7 +266,7 @@ EOF
 '
 
 test_expect_success 'prompt - rebase merge' '
-	printf " (b2|REBASE-m 1/3)" > expected &&
+	printf " (b2|REBASE 1/3)" > expected &&
 	git checkout b2 &&
 	test_when_finished "git checkout master" &&
 	test_must_fail git rebase --merge b1 b2 &&
-- 
1.8.3.698.g079b096

  parent reply	other threads:[~2013-06-09 16:44 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-09 16:40 [PATCH v4 00/45] Massive improvents to rebase and cherry-pick Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 01/45] build: generate and clean test scripts Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 02/45] build: do not install git-remote-testgit Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 03/45] build: trivial cleanup Felipe Contreras
2013-06-09 17:17   ` SZEDER Gábor
2013-06-09 16:40 ` [PATCH v4 04/45] build: add builtin lib Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 05/45] log-tree: remove dependency from sequencer Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 06/45] Move sequencer to builtin Felipe Contreras
2013-06-09 17:02   ` Antoine Pelisse
2013-06-09 17:06     ` Felipe Contreras
2013-06-09 17:07     ` Ramkumar Ramachandra
2013-06-09 17:10       ` Antoine Pelisse
2013-06-09 16:40 ` [PATCH v4 07/45] unpack-trees: plug a memory leak Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 08/45] read-cache: plug a few leaks Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 09/45] sequencer: remove useless indentation Felipe Contreras
2013-06-09 18:17   ` Fredrik Gustafsson
2013-06-09 18:19     ` Felipe Contreras
2013-06-09 19:08       ` Fredrik Gustafsson
2013-06-09 19:16         ` Felipe Contreras
2013-06-09 19:48           ` Fredrik Gustafsson
2013-06-09 16:40 ` [PATCH v4 10/45] sequencer: trivial fix Felipe Contreras
2013-06-09 17:18   ` SZEDER Gábor
2013-06-09 17:23     ` Felipe Contreras
2013-06-09 17:33       ` SZEDER Gábor
2013-06-09 17:37         ` John Keeping
2013-06-09 17:53           ` Felipe Contreras
2013-06-09 19:01             ` John Keeping
2013-06-09 19:11               ` Felipe Contreras
2013-06-09 19:20                 ` SZEDER Gábor
2013-06-09 17:47         ` Felipe Contreras
2013-06-09 17:53           ` SZEDER Gábor
2013-06-09 18:21             ` Felipe Contreras
2013-06-09 21:09       ` Philip Oakley
2013-06-09 16:40 ` [PATCH v4 11/45] cherry-pick: don't barf when there's nothing to do Felipe Contreras
2013-06-09 19:21   ` Fredrik Gustafsson
2013-06-09 19:32     ` Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 12/45] cherry-pick: add --skip-empty option Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 13/45] revert/cherry-pick: add --quiet option Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 14/45] revert/cherry-pick: add --skip option Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 15/45] builtin: add rewrite helper Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 16/45] cherry-pick: store rewritten commits Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 17/45] cherry-pick: don't store skipped commit Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 18/45] builtin: move run_rewrite_hook() to rewrite.c Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 19/45] builtin: add copy_rewrite_notes() Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 20/45] cherry-pick: copy notes and run hooks Felipe Contreras
2013-06-09 17:22   ` Thomas Rast
2013-06-09 17:29     ` Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 21/45] cherry-pick: add --action-name option Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 22/45] cherry-pick: remember rerere-autoupdate Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 23/45] rebase: split the cherry-pick stuff Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 24/45] rebase: cherry-pick: fix mode storage Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 25/45] rebase: cherry-pick: fix sequence continuation Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 26/45] rebase: cherry-pick: fix abort of cherry mode Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 27/45] rebase: cherry-pick: fix command invocations Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 28/45] rebase: cherry-pick: fix status messages Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 29/45] rebase: cherry-pick: automatically commit stage Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 30/45] rebase: cherry-pick: set correct action-name Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 31/45] rebase: trivial cleanup Felipe Contreras
2013-06-09 19:15   ` Fredrik Gustafsson
2013-06-11 16:12     ` Junio C Hamano
2013-06-11 17:08       ` Fredrik Gustafsson
2013-06-11 17:09         ` Felipe Contreras
2013-06-11 17:24           ` Fredrik Gustafsson
2013-06-11 17:26             ` Felipe Contreras
2013-06-11 17:41               ` Fredrik Gustafsson
2013-06-11 17:42                 ` Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 32/45] rebase: use 'cherrypick' mode instead of 'am' Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 33/45] rebase: cherry-pick: fix for shell prompt Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 34/45] rebase: cherry-pick: add merge options Felipe Contreras
2013-06-09 16:40 ` Felipe Contreras [this message]
2013-06-09 16:40 ` [PATCH v4 36/45] rebase: cherry-pick: add copyright Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 37/45] tests: fix autostash Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 38/45] add simple tests of consistency across rebase types Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 39/45] add tests for rebasing with patch-equivalence present Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 40/45] add tests for rebasing of empty commits Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 41/45] add tests for rebasing root Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 42/45] add tests for rebasing merged history Felipe Contreras
2013-06-09 17:25   ` Thomas Rast
2013-06-09 17:31     ` Felipe Contreras
2013-06-09 17:32       ` Thomas Rast
2013-06-09 17:46         ` Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 43/45] t3406: modernize style Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 44/45] tests: move test for rebase messages from t3400 to t3406 Felipe Contreras
2013-06-09 16:40 ` [PATCH v4 45/45] tests: update topology tests Felipe Contreras
2013-06-11  4:37   ` Martin von Zweigbergk
2013-06-11  4:41     ` Felipe Contreras

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1370796057-25312-36-git-send-email-felipe.contreras@gmail.com \
    --to=felipe.contreras@gmail.com \
    --cc=artagnon@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jrnieder@gmail.com \
    --cc=martin.von.zweigbergk@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).