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>
This commit is contained in:
Martin von Zweigbergk
2011-02-06 13:43:42 -05:00
committed by Junio C Hamano
parent 8f9bfb64c5
commit 71786f54c4
2 changed files with 9 additions and 48 deletions

View File

@ -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,