X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=git-checkout.sh;h=deb0a9a3c733ed889158d05b7cae4d174917553d;hb=645833b564f585a25acd75c878ffda752909c273;hp=39ffa8b8a3322b623a6d4938d566453fe206ca69;hpb=bb95e19c5f1e470d2efe1c0e4e04c291019e4b25;p=git.git diff --git a/git-checkout.sh b/git-checkout.sh index 39ffa8b8a..deb0a9a3c 100755 --- a/git-checkout.sh +++ b/git-checkout.sh @@ -163,7 +163,14 @@ cd_to_toplevel detached= detach_warn= -if test -z "$branch$newbranch" && test "$new" != "$old" +describe_detached_head () { + test -n "$quiet" || { + printf >&2 "$1 " + GIT_PAGER= git log >&2 -1 --pretty=oneline --abbrev-commit "$2" + } +} + +if test -z "$branch$newbranch" && test "$new_name" != "$old_name" then detached="$new" if test -n "$oldbranch" && test -z "$quiet" @@ -173,9 +180,9 @@ If you want to create a new branch from this checkout, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b " fi -elif test -z "$oldbranch" && test -z "$quiet" +elif test -z "$oldbranch" && test "$new" != "$old" then - echo >&2 "Previous HEAD position was $old" + describe_detached_head 'Previous HEAD position was' "$old" fi if [ "X$old" = X ] @@ -250,8 +257,13 @@ if [ "$?" -eq 0 ]; then if test -n "$branch" then GIT_DIR="$GIT_DIR" git-symbolic-ref -m "checkout: moving to $branch" HEAD "refs/heads/$branch" - if test -z "$quiet" + if test -n "$quiet" + then + true # nothing + elif test "refs/heads/$branch" = "$oldbranch" then + echo >&2 "Already on branch \"$branch\"" + else echo >&2 "Switched to${newbranch:+ a new} branch \"$branch\"" fi elif test -n "$detached" @@ -270,6 +282,7 @@ if [ "$?" -eq 0 ]; then then echo >&2 "$detach_warn" fi + describe_detached_head 'HEAD is now at' HEAD fi rm -f "$GIT_DIR/MERGE_HEAD" else