[PATCH 12/31] rebase: reorder validation steps

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

Reorder validation steps in preparation for the validation to be factored
out from git-rebase--interactive.sh into git-rebase.sh.

The main functional difference is that the pre-rebase hook will no longer
be run if the work tree is dirty.

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

diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index 21a9774..5a8f582 100755
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -792,12 +792,12 @@ else
 	test -z "$onto" &&
 		die "You must specify --onto when using --root"
 fi
+require_clean_work_tree "rebase" "Please commit or stash them."
+
 run_pre_rebase_hook "$upstream_arg" "$@"
 
 comment_for_reflog start
 
-require_clean_work_tree "rebase" "Please commit or stash them."
-
 if test ! -z "$1"
 then
 	output git checkout "$1" ||
diff --git a/git-rebase.sh b/git-rebase.sh
index e646b8f..26e4218 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -435,8 +435,6 @@ fi
 
 test "$type" = interactive && run_interactive_rebase "$@"
 
-require_clean_work_tree "rebase" "Please commit or stash them."
-
 if test -z "$rebase_root"
 then
 	# The upstream head must be given.  Make sure it is valid.
@@ -478,9 +476,6 @@ case "$onto_name" in
 	;;
 esac
 
-# If a hook exists, give it a chance to interrupt
-run_pre_rebase_hook "$upstream_arg" "$@"
-
 # If the branch to rebase is given, that is the branch we will rebase
 # $branch_name -- branch being rebased, or HEAD (already detached)
 # $orig_head -- commit object name of tip of the branch before rebasing
@@ -518,6 +513,8 @@ case "$#" in
 esac
 orig_head=$branch
 
+require_clean_work_tree "rebase" "Please commit or stash them."
+
 # Now we are rebasing commits $upstream..$branch (or with --root,
 # everything leading up to $branch) on top of $onto
 
@@ -539,6 +536,9 @@ then
 	fi
 fi
 
+# If a hook exists, give it a chance to interrupt
+run_pre_rebase_hook "$upstream_arg" "$@"
+
 # 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)