[PATCH 15/31] rebase: factor out call to pre-rebase hook

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Martin von Zweigbergk
Date: Tuesday, December 28, 2010 - 2:30 am

Remove the call to the pre-rebase hook from
git-rebase--interactive.sh and rely on the call in
git-rebase.sh.

Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
---
 git-rebase--interactive.sh |   14 --------------
 git-rebase.sh              |   15 ++++++++-------
 2 files changed, 8 insertions(+), 21 deletions(-)

diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index edde1e5..0beeb8b 100755
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -109,18 +109,6 @@ commit_message () {
 	git cat-file commit "$1" | sed "1,/^$/d"
 }
 
-run_pre_rebase_hook () {
-	if test -z "$OK_TO_SKIP_PRE_REBASE" &&
-	   test -x "$GIT_DIR/hooks/pre-rebase"
-	then
-		"$GIT_DIR/hooks/pre-rebase" ${1+"$@"} || {
-			echo >&2 "The pre-rebase hook refused to rebase."
-			exit 1
-		}
-	fi
-}
-
-
 ORIG_REFLOG_ACTION="$GIT_REFLOG_ACTION"
 
 comment_for_reflog () {
@@ -753,8 +741,6 @@ esac
 git var GIT_COMMITTER_IDENT >/dev/null ||
 	die "You need to set your committer info first"
 
-run_pre_rebase_hook "$upstream_arg" "$@"
-
 comment_for_reflog start
 
 if test ! -z "$switch_to"
diff --git a/git-rebase.sh b/git-rebase.sh
index e1e5263..229e8d2 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -185,9 +185,8 @@ run_interactive_rebase () {
 		export GIT_EDITOR
 	fi
 	export onto autosquash strategy strategy_opts verbose rebase_root \
-	force_rebase action preserve_merges OK_TO_SKIP_PRE_REBASE upstream \
-	upstream_arg switch_to head_name
-	exec git-rebase--interactive "$@"
+	force_rebase action preserve_merges upstream switch_to head_name
+	exec git-rebase--interactive
 }
 
 run_pre_rebase_hook () {
@@ -515,15 +514,15 @@ orig_head=$branch
 
 require_clean_work_tree "rebase" "Please commit or stash them."
 
-test "$type" = interactive && run_interactive_rebase "$@"
-
 # Now we are rebasing commits $upstream..$branch (or with --root,
 # everything leading up to $branch) on top of $onto
 
 # Check if we are already based on $onto with linear history,
-# but this should be done only when upstream and onto are the same.
+# but this should be done only when upstream and onto are the same
+# and if this is not an interactive rebase.
 mb=$(git merge-base "$onto" "$branch")
-if test "$upstream" = "$onto" && test "$mb" = "$onto" &&
+if test "$type" != interactive && test "$upstream" = "$onto" &&
+	test "$mb" = "$onto" &&
 	# linear history?
 	! (git rev-list --parents "$onto".."$branch" | sane_grep " .* ") > /dev/null
 then
@@ -541,6 +540,8 @@ fi
 # If a hook exists, give it a chance to interrupt
 run_pre_rebase_hook "$upstream_arg" "$@"
 
+test "$type" = interactive && run_interactive_rebase
+
 # Detach HEAD and reset the tree
 say "First, rewinding head to replay your work on top of it..."
 git checkout -q "$onto^0" || die "could not detach HEAD"
-- 
1.7.3.2.864.gbbb96

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 00/31] Refactor rebase, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 01/31] rebase: clearer names for directory variables, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 02/31] rebase: refactor reading of state, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 03/31] rebase: read state outside loop, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 04/31] rebase: remove unused rebase state 'prev_head', Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 05/31] rebase: improve detection of rebase in progress, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 06/31] rebase: act on command line outside parsing loop, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 07/31] rebase: stricter check of standalone sub command, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 08/31] rebase: align variable names, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 09/31] rebase: align variable content, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 10/31] rebase: factor out command line option proce ..., Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 11/31] rebase -i: remove now unnecessary directory ..., Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 12/31] rebase: reorder validation steps, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 13/31] rebase: factor out reference parsing, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 14/31] rebase: factor out clean work tree check, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 15/31] rebase: factor out call to pre-rebase hook, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 16/31] rebase -i: support --stat, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 17/31] rebase: remove $branch as synonym for $orig_head, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 18/31] rebase: extract merge code to new source file, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 19/31] rebase: extract am code to new source file, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 20/31] rebase: show consistent conflict resolution hint, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 21/31] rebase -i: align variable names, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 22/31] rebase: make -v a tiny bit more verbose, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 23/31] rebase: factor out sub command handling, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 24/31] rebase: extract code for writing basic state, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 25/31] rebase: remember verbose option, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 26/31] rebase: remember strategy and strategy options, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 27/31] rebase -m: remember allow_rerere_autoupdate ..., Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 28/31] rebase -m: don't print exit code 2 when merg ..., Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 29/31] git-rebase--am: remove unnecessary --3way option, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 30/31] rebase -i: don't read unused variable preser ..., Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
[PATCH 31/31] rebase -i: remove unnecessary state rebase-root, Martin von Zweigbergk, (Tue Dec 28, 2:30 am)
Re: [PATCH 16/31] rebase -i: support --stat, Martin von Zweigbergk, (Tue Dec 28, 6:24 am)
Re: [PATCH 16/31] rebase -i: support --stat, Johannes Schindelin, (Tue Dec 28, 10:59 am)
Re: [PATCH 05/31] rebase: improve detection of rebase in p ..., Martin von Zweigbergk, (Tue Dec 28, 1:35 pm)
Re: [PATCH 01/31] rebase: clearer names for directory vari ..., Martin von Zweigbergk, (Tue Dec 28, 1:53 pm)
Re: [PATCH 02/31] rebase: refactor reading of state, Junio C Hamano, (Tue Dec 28, 4:08 pm)
Re: [PATCH 16/31] rebase -i: support --stat, Junio C Hamano, (Tue Dec 28, 4:36 pm)
Re: [PATCH 16/31] rebase -i: support --stat, Johannes Schindelin, (Tue Dec 28, 4:44 pm)
Re: [PATCH 02/31] rebase: refactor reading of state, Martin von Zweigbergk, (Wed Dec 29, 1:09 am)
Re: [PATCH 18/31] rebase: extract merge code to new source ..., Martin von Zweigbergk, (Wed Dec 29, 3:24 pm)
Re: [PATCH 31/31] rebase -i: remove unnecessary state reba ..., Martin von Zweigbergk, (Wed Dec 29, 3:31 pm)
Re: [PATCH 31/31] rebase -i: remove unnecessary state reba ..., Christian Couder, (Thu Dec 30, 10:41 pm)
Re: [PATCH 18/31] rebase: extract merge code to new source ..., Martin von Zweigbergk, (Fri Dec 31, 7:05 am)
Re: [PATCH 08/31] rebase: align variable names, Thomas Rast, (Tue Jan 4, 12:12 pm)
Re: [PATCH 00/31] Refactor rebase, Thomas Rast, (Tue Jan 4, 12:57 pm)