summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgit-checkout.sh14
1 files changed, 7 insertions, 7 deletions
diff --git a/git-checkout.sh b/git-checkout.sh
index a309bf0a1a..dcf6ddbdf1 100755
--- a/git-checkout.sh
+++ b/git-checkout.sh
@@ -171,14 +171,14 @@ then
# Coming back...
if test -z "$force"
then
- mb=$(git merge-base --all $old $new) &&
- case "$LF$mb$LF" in
- *"$LF$old$LF"*) : ;;
- *) false ;;
- esac || {
+ git show-ref -d -s | grep "$old" >/dev/null || {
echo >&2 \
-"You are not on a branch and switching to $new_name branch may lose
-your changes. Use 'git checkout -f $new_name' if you want to."
+"You are not on any branch and switching to branch '$new_name'
+may lose your changes. At this point, you can do one of two things:
+ (1) Decide it is Ok and say 'git checkout -f $new_name';
+ (2) Start a new branch from the current commit, by saying
+ 'git checkout -b <branch-name>'.
+Leaving your HEAD detached; not switching to branch '$new_name'."
exit 1;
}
fi