Merge branch 'master' of git://repo.or.cz/git-gui
[gitweb.git] / git-pull.sh
index 959261757c1fd8df50f7894ba449b76d621f3c45..ba0ca079e204a464ee05b6c000ed891ed3c08b33 100755 (executable)
@@ -22,6 +22,9 @@ do
        -n|--n|--no|--no-|--no-s|--no-su|--no-sum|--no-summ|\
                --no-summa|--no-summar|--no-summary)
                no_summary=-n ;;
+       --summary)
+               no_summary=$1
+               ;;
        --no-c|--no-co|--no-com|--no-comm|--no-commi|--no-commit)
                no_commit=--no-commit ;;
        --sq|--squ|--squa|--squas|--squash)
@@ -83,8 +86,17 @@ merge_head=$(sed -e '/       not-for-merge   /d' \
 
 case "$merge_head" in
 '')
-       curr_branch=$(git-symbolic-ref HEAD | \
-               sed -e 's|^refs/heads/||')
+       curr_branch=$(git-symbolic-ref -q HEAD)
+       case $? in
+         0) ;;
+         1) echo >&2 "You are not currently on a branch; you must explicitly"
+            echo >&2 "specify which branch you wish to merge:"
+            echo >&2 "  git pull <remote> <branch>"
+            exit 1;;
+         *) exit $?;;
+       esac
+       curr_branch=${curr_branch#refs/heads/}
+
        echo >&2 "Warning: No merge candidate found because value of config option
          \"branch.${curr_branch}.merge\" does not match any remote branch fetched."
        echo >&2 "No changes."