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 bf52e3bb24d3e679e396910c53924075e2f3a32b..48e1da9399b645d8942c7d2d399beeff28153506 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