Subject: Re: Bug: "git checkout -b" should be allowed in empty repo

From: Michael Haggerty <[email-masked]>
Date: Tue, 07 Feb 2012 09:04:11 +0100

On 02/06/2012 07:17 PM, Junio C Hamano wrote:
> Jeff King <[email-masked]> writes:
> Probably I am slower than my usual slow self this morning. Does Michael's
> approach go like this:
> 
> 	git init project
>         cd project
>         import import import
>         git branch -m vendor
>         git checkout -b master
> 
> to fork from third-party codebase?

I'm not really forking the third-party code; I'm just importing a
snapshot to a particular subdirectory of my own project.  I wanted to do
something like:

    git init project
    cd project
    git checkout -b vendor
    import import import commit (into subdirectory "foo")
    git checkout --orphan master
    git clean -fxd
    hack commit hack commit
    # Then when the vendor stuff is logically needed in master:
    git merge vendor

With the option to import later snapshots of the third-party code to the
"vendor" branch then re-merge it to master.

> Care to come up with a patch to Documentation/git-checkout.txt?  The
> description there strongly implies that <start point> is an existing
> commit.  Not much is said about what the lack of <start point> mean when
> it describes "checkout -b", and a standalone description of <start point>
> says "The name of a comit at which to start... Defaults to HEAD".  These
> need to be loosened and described in terms of the closer-to-the-user "at
> my current state".

I'll work on it as soon as I have time.

Michael

-- 
Michael Haggerty
[email-masked]
http://softwareswirl.blogspot.com/