Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
Make rebase script saner.
author
Junio C Hamano
<junkio@cox.net>
Wed, 17 Aug 2005 22:19:57 +0000
(15:19 -0700)
committer
Junio C Hamano
<junkio@cox.net>
Wed, 17 Aug 2005 22:19:57 +0000
(15:19 -0700)
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>
git-rebase-script
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
0f87f89
)
diff --git
a/git-rebase-script
b/git-rebase-script
index 026225ab2cea131fcea00e5a5112dcd350f36eab..7b1d4900bd256ee8c1dd70220012be3e77070cc5 100755
(executable)
--- a/
git-rebase-script
+++ b/
git-rebase-script
@@
-17,16
+17,19
@@
case "$#,$1" in
shift ;;
esac
shift ;;
esac
+git-update-cache --refresh || exit
+
case "$#" in
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
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
git-read-tree -m -u $ours $upstream &&
git-rev-parse --verify "$upstream^0" >"$GIT_DIR/HEAD" || exit