diff --git a/git-rebase.sh b/git-rebase.sh
index c8bd0f99d1306cd311eaf45f73581efc8bb0e512..9d2f71d15c47ae69eed57a7301d47c93d5bb070a 100755 (executable)
--- a/git-rebase.sh
+++ b/git-rebase.sh
git-update-index --refresh || exit
diff=$(git-diff-index --cached --name-status -r HEAD)
case "$diff" in
-?*) echo "$diff"
+?*) echo "cannot rebase: your index is not up-to-date"
+ echo "$diff"
exit 1
;;
esac
git-checkout "$2" || usage
;;
*)
- branch_name=`git symbolic-ref HEAD` || die "No current branch"
- branch_name=`expr "z$branch_name" : 'zrefs/heads/\(.*\)'`
+ if branch_name=`git symbolic-ref -q HEAD`
+ then
+ branch_name=`expr "z$branch_name" : 'zrefs/heads/\(.*\)'`
+ else
+ branch_name=HEAD ;# detached
+ fi
;;
esac
branch=$(git-rev-parse --verify "${branch_name}^0") || exit