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

3 messages, 3 authors, 2016-06-15 · open the first message on its own page

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

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:53:00

Jeff King [off-list ref] writes:
PS I probably would have done it as:

     git init vendor
     cd vendor
     import import import
     cd ..

     git init project
     cd project
     git fetch ../vendor master:vendor

   but I don't think there's anything wrong with your approach (in fact,
   it's slightly more efficient).
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?

Or Michael had his own 'master' already and wanted an independent orphaned
history from vendor, perhaps like this?

	git init project
        cd project
        work work work
        git checkout --orphan vendor
        : perhaps "git clean -f" here???
        import import import
        git checkout master
        : rootless merge???
        git merge vendor

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

From: Jeff King <hidden>
Date: 2016-06-15 22:53:00

On Mon, Feb 06, 2012 at 10:17:55AM -0800, Junio C Hamano wrote:
quoted
PS I probably would have done it as:

     git init vendor
     cd vendor
     import import import
     cd ..

     git init project
     cd project
     git fetch ../vendor master:vendor

   but I don't think there's anything wrong with your approach (in fact,
   it's slightly more efficient).
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 thought it would have been:

  git init project
  cd project
  git checkout -b vendor
  import import import
  git checkout -b master
  modify modify modify

but he can probably say more.

-Peff

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

From: Michael Haggerty <hidden>
Date: 2016-06-15 22:53:00

On 02/06/2012 07:17 PM, Junio C Hamano wrote:
Jeff King [off-list ref] 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
mhagger@alum.mit.edu
http://softwareswirl.blogspot.com/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help