From 71786f54c4128821eab8a23f258848c76b5a2071 Mon Sep 17 00:00:00 2001 From: Martin von Zweigbergk Date: Sun, 6 Feb 2011 13:43:42 -0500 Subject: 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 Signed-off-by: Junio C Hamano --- git-rebase.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'git-rebase.sh') diff --git a/git-rebase.sh b/git-rebase.sh index 4a83d1042..0f5f5fb20 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, -- cgit v1.2.1