Make "git checkout" verify that the argument refers to a commit
authorLinus Torvalds <torvalds@g5.osdl.org>
Tue, 12 Jul 2005 01:32:30 +0000 (18:32 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 12 Jul 2005 01:32:30 +0000 (18:32 -0700)
We still need to create a new branch if it didn't refer to an existing
branch, otherwise our HEAD will continue to point to something totally
different than what we just checked out.

I'll need to think about it.  Maybe only do it with "-f" and force it to
the "master" branch?

git-checkout-script

index bf52e3b..48e1da9 100755 (executable)
@@ -13,7 +13,7 @@ while [ "$#" != "0" ]; do
                force=1
                ;;
        *)
-               rev=$(git-rev-parse --verify --revs-only "$arg")
+               rev=$(git-rev-parse --verify --revs-only "$arg^0") || exit
                if [ -z "$rev" ]; then
                        echo "unknown flag $arg"
                        exit 1