On Mon, 11 Jul 2005, Linus Torvalds wrote:
> On Mon, 11 Jul 2005, Marc Singer wrote:
> > 
> > From my POV, what I want is a branch with the tag v2.6.12 as the basis
> > of the branch.  I'm guessing that -b means "make me a branch and call
> > it this".
> Yup. That would be the interface.
> >  # git checkout -b BRANCH_NAME [TAG]
> > 
> > If the TAG is omitted, the branch is made from the current HEAD or
> > some other reasonable point defined by the current working directory.
> That would be the most natural thing that would fall out of this kind of 
> interface.

Ok, done. 

Now, if you try to do

        git checkout v2.6.12

git will complain with

        git checkout: you need to specify a new branch name

and some day (when I can get my act together and have man-pages that 
work), there would even be documentation for the "-b" flag to specify the 
branch name. And indeed, if you only specify the branch name, it will 
just create it and switch to it from the current HEAD.

So while there are no docs, the checkin comment hopefully says it all:

commit 91dcdfd3b5331d955cfb60edf8930f1b5c142905
Author: Linus Torvalds <[EMAIL PROTECTED]>
Date:   Mon Jul 11 20:44:20 2005 -0700

    Make "git checkout" create new branches on demand

    In particular, if we check out something that isn't an old branch, it
    now requires a new branch-name to check the thing out into.

    So, for example:

        git checkout -b my-branch v2.6.12

    will create the new branch "my-branch", and start it at v2.6.12, while

        git checkout master

    will just switch back to the master branch.

    Of course, if you want to create a new branch "my-branch" and _not_
    check it out, you could have done so with just

        git-rev-parse v2.6.12^0 > .git/refs/heads/my-branch

    which I think I will codify as "git branch".

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to