summaryrefslogtreecommitdiff
path: root/git-rebase.sh
diff options
context:
space:
mode:
authorMartin von Zweigbergk <martin.von.zweigbergk@gmail.com>2011-02-06 13:43:42 -0500
committerJunio C Hamano <gitster@pobox.com>2011-02-10 14:08:08 -0800
commit71786f54c4128821eab8a23f258848c76b5a2071 (patch)
treedb1ffdc7cdcee9ec329f1eb0d23723543c5fd2ca /git-rebase.sh
parent8f9bfb64c5d5179cc7439715379077875248c4ab (diff)
downloadgit-71786f54c4128821eab8a23f258848c76b5a2071.tar.gz
rebase: factor out reference parsing
Remove the parsing and validation of references (onto, upstream, branch) from git-rebase--interactive.sh and rely on the information exported from git-rebase.sh. By using the parsing of the --onto parameter in git-rebase.sh, this improves the error message when the parameter is invalid. Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-rebase.sh')
-rwxr-xr-xgit-rebase.sh9
1 files changed, 5 insertions, 4 deletions
diff --git a/git-rebase.sh b/git-rebase.sh
index 4a83d10426..0f5f5fb206 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -431,8 +431,6 @@ else
state_dir="$apply_dir"
fi
-test "$type" = interactive && run_interactive_rebase "$@"
-
if test -z "$rebase_root"
then
# The upstream head must be given. Make sure it is valid.
@@ -443,7 +441,7 @@ then
unset root_flag
upstream_arg="$upstream_name"
else
- test -z "$onto" && die "--root must be used with --onto"
+ test -z "$onto" && die "You must specify --onto when using --root"
unset upstream_name
unset upstream
root_flag="--root"
@@ -470,7 +468,8 @@ case "$onto_name" in
fi
;;
*)
- onto=$(git rev-parse --verify "${onto_name}^0") || exit
+ onto=$(git rev-parse --verify "${onto_name}^0") ||
+ die "Does not point to a valid commit: $1"
;;
esac
@@ -512,6 +511,8 @@ case "$#" in
esac
orig_head=$branch
+test "$type" = interactive && run_interactive_rebase "$@"
+
require_clean_work_tree "rebase" "Please commit or stash them."
# Now we are rebasing commits $upstream..$branch (or with --root,