Make rebase script saner.
It did not check to see if the working tree was clean and matched the commit we were starting out as, resulting in the initial rebased commit including whatever dirty state the working tree has had. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
0f87f89365
commit
99a92f928f
@ -17,16 +17,19 @@ case "$#,$1" in
|
||||
shift ;;
|
||||
esac
|
||||
|
||||
git-update-cache --refresh || exit
|
||||
|
||||
case "$#" in
|
||||
1) upstream=`git-rev-parse --verify "$1"` &&
|
||||
ours=`git-rev-parse --verify HEAD` || exit
|
||||
;;
|
||||
2) upstream=`git-rev-parse --verify "$1"` &&
|
||||
ours=`git-rev-parse --verify "$2"` || exit
|
||||
;;
|
||||
*) echo >&2 "$usage"; exit 1 ;;
|
||||
1) ours_symbolic=HEAD ;;
|
||||
2) ours_symbolic="$2" ;;
|
||||
*) die "$usage" ;;
|
||||
esac
|
||||
|
||||
upstream=`git-rev-parse --verify "$1"` &&
|
||||
ours=`git-rev-parse --verify "$ours_symbolic^` || exit
|
||||
test "$(git-diff-cache --cached "$ours")" = "" ||
|
||||
die "Your working tree does not match $ours_symbolic."
|
||||
|
||||
git-read-tree -m -u $ours $upstream &&
|
||||
git-rev-parse --verify "$upstream^0" >"$GIT_DIR/HEAD" || exit
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user