Code

Merge branch 'master' into np/dreflog
[git.git] / git-rebase.sh
index c8bd0f99d1306cd311eaf45f73581efc8bb0e512..9d2f71d15c47ae69eed57a7301d47c93d5bb070a 100755 (executable)
@@ -249,7 +249,8 @@ fi
 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
@@ -275,8 +276,12 @@ case "$#" in
        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