All of lore.kernel.org
 help / color / mirror / Atom feed
* Why is git clone not checking out files?
@ 2007-01-30 18:05 Bill Lear
  2007-01-30 18:15 ` Jakub Narebski
  0 siblings, 1 reply; 22+ messages in thread
From: Bill Lear @ 2007-01-30 18:05 UTC (permalink / raw)
  To: git

I don't understand why clone (version 1.4.4.1) is not checking out my
files:

% ls /repos/git/project
branches  description  HEAD   info     refs
config    FETCH_HEAD   hooks  objects  remotes
% git clone /repos/git/project
remote: Generating pack...
remote: Done counting 1149 objects.
remote: Deltifying 1149 objects.
remote: 149/1149) done49) done
Indexing 1149 objects.
remote: Total 1149, written 1149 (delta 619), reused 1149 (delta 619)
 100% (1149/1149) done
Resolving 619 deltas.
 100% (619/619) done
% ls project
% ls -a project
.  ..  .git


Bill

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 18:05 Why is git clone not checking out files? Bill Lear
@ 2007-01-30 18:15 ` Jakub Narebski
  2007-01-30 18:18   ` Bill Lear
  0 siblings, 1 reply; 22+ messages in thread
From: Jakub Narebski @ 2007-01-30 18:15 UTC (permalink / raw)
  To: git

Bill Lear wrote:

> I don't understand why clone (version 1.4.4.1) is not checking out my
> files:

Unless you use git clone --bare, it should checkout HEAD branch...
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 18:15 ` Jakub Narebski
@ 2007-01-30 18:18   ` Bill Lear
  2007-01-30 18:22     ` Shawn O. Pearce
  0 siblings, 1 reply; 22+ messages in thread
From: Bill Lear @ 2007-01-30 18:18 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: git

On Tuesday, January 30, 2007 at 19:15:33 (+0100) Jakub Narebski writes:
>Bill Lear wrote:
>
>> I don't understand why clone (version 1.4.4.1) is not checking out my
>> files:
>
>Unless you use git clone --bare, it should checkout HEAD branch...

Ok, well, I certainly did not issue git clone --bare, it was just a
plain ol' clone:

% git clone /repos/git/project

and no checkout ensued.  Can I fix this somehow?  I've tried the clone
several times with no success.  Is there anything I can check in the
source repo (the above /repos/git/project) to see why it would not be
working?


Bill

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 18:18   ` Bill Lear
@ 2007-01-30 18:22     ` Shawn O. Pearce
  2007-01-30 18:29       ` Bill Lear
  0 siblings, 1 reply; 22+ messages in thread
From: Shawn O. Pearce @ 2007-01-30 18:22 UTC (permalink / raw)
  To: Bill Lear; +Cc: Jakub Narebski, git

Bill Lear <rael@zopyra.com> wrote:
> Ok, well, I certainly did not issue git clone --bare, it was just a
> plain ol' clone:
> 
> % git clone /repos/git/project
> 
> and no checkout ensued.  Can I fix this somehow?  I've tried the clone
> several times with no success.  Is there anything I can check in the
> source repo (the above /repos/git/project) to see why it would not be
> working?

I've seen this happen if HEAD in the source repository does not point
at a branch, or points at a commit which doesn't exist.  Though I
usually also see an error about how HEAD isn't a valid object name...

-- 
Shawn.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 18:22     ` Shawn O. Pearce
@ 2007-01-30 18:29       ` Bill Lear
  2007-01-30 18:41         ` Linus Torvalds
  0 siblings, 1 reply; 22+ messages in thread
From: Bill Lear @ 2007-01-30 18:29 UTC (permalink / raw)
  To: Shawn O. Pearce; +Cc: Jakub Narebski, git

On Tuesday, January 30, 2007 at 13:22:37 (-0500) Shawn O. Pearce writes:
>Bill Lear <rael@zopyra.com> wrote:
>> Ok, well, I certainly did not issue git clone --bare, it was just a
>> plain ol' clone:
>> 
>> % git clone /repos/git/project
>> 
>> and no checkout ensued.  Can I fix this somehow?  I've tried the clone
>> several times with no success.  Is there anything I can check in the
>> source repo (the above /repos/git/project) to see why it would not be
>> working?
>
>I've seen this happen if HEAD in the source repository does not point
>at a branch, or points at a commit which doesn't exist.  Though I
>usually also see an error about how HEAD isn't a valid object name...

Hmm.

% cd /repos/git/project
% ls
branches  description  HEAD   info     refs
config    FETCH_HEAD   hooks  objects  remotes
% cat HEAD
ref: refs/heads/master
% cat FETCH_HEAD
2ed7b6f672963bab4bad713a71967f683fe01163                branch 'topic' of git://source/public/project
2ed7b6f672963bab4bad713a71967f683fe01163        not-for-merge   tag 'fbdev_ref_1' of git://source/public/project

This repository was created like this:

% mkdir /repos/git/project
% cd /repos/git/project
% git --bare init-db --shared
% GIT_DIR=. git fetch git://xiphi/public/project topic:topic


Bill

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 18:29       ` Bill Lear
@ 2007-01-30 18:41         ` Linus Torvalds
  2007-01-30 18:49           ` Jakub Narebski
  2007-01-30 19:03           ` Bill Lear
  0 siblings, 2 replies; 22+ messages in thread
From: Linus Torvalds @ 2007-01-30 18:41 UTC (permalink / raw)
  To: Bill Lear; +Cc: Shawn O. Pearce, Jakub Narebski, git



On Tue, 30 Jan 2007, Bill Lear wrote:
> 
> % cd /repos/git/project
> % ls
> branches  description  HEAD   info     refs
> config    FETCH_HEAD   hooks  objects  remotes
> % cat HEAD
> ref: refs/heads/master

Ok, HEAD points to "master".

> This repository was created like this:
> 
> % mkdir /repos/git/project
> % cd /repos/git/project
> % git --bare init-db --shared
> % GIT_DIR=. git fetch git://xiphi/public/project topic:topic

...but you don't _have_ any such branch. You only have a "topic" branch.

		Linus

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 18:41         ` Linus Torvalds
@ 2007-01-30 18:49           ` Jakub Narebski
  2007-01-30 19:04             ` Linus Torvalds
  2007-01-31  9:56             ` Jakub Narebski
  2007-01-30 19:03           ` Bill Lear
  1 sibling, 2 replies; 22+ messages in thread
From: Jakub Narebski @ 2007-01-30 18:49 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Bill Lear, Shawn O. Pearce, git

Linus Torvalds wrote:
> On Tue, 30 Jan 2007, Bill Lear wrote:
>> 
>> % cd /repos/git/project
>> % ls
>> branches  description  HEAD   info     refs
>> config    FETCH_HEAD   hooks  objects  remotes
>> % cat HEAD
>> ref: refs/heads/master
> 
> Ok, HEAD points to "master".
> 
>> This repository was created like this:
>> 
>> % mkdir /repos/git/project
>> % cd /repos/git/project
>> % git --bare init-db --shared
>> % GIT_DIR=. git fetch git://xiphi/public/project topic:topic
> 
> ...but you don't _have_ any such branch. You only have a "topic"
> branch. 

...so "git clone" tries to checkout HEAD -> refs/heads/master
branch, which does not exist. It is strange that git does not
report error or at least warning, though...

-- 
Jakub Narebski
Poland

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 18:41         ` Linus Torvalds
  2007-01-30 18:49           ` Jakub Narebski
@ 2007-01-30 19:03           ` Bill Lear
  2007-01-30 19:09             ` Shawn O. Pearce
  2007-01-30 19:33             ` Linus Torvalds
  1 sibling, 2 replies; 22+ messages in thread
From: Bill Lear @ 2007-01-30 19:03 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Shawn O. Pearce, Jakub Narebski, git

On Tuesday, January 30, 2007 at 10:41:03 (-0800) Linus Torvalds writes:
>On Tue, 30 Jan 2007, Bill Lear wrote:
>...
>> This repository was created like this:
>> 
>> % mkdir /repos/git/project
>> % cd /repos/git/project
>> % git --bare init-db --shared
>>[% GIT_DIR=. git fetch git://source/public/project topic:topic]
>
>...but you don't _have_ any such branch. You only have a "topic" branch.

Hmm, so I did this:

% cd /repos/git/project
% GIT_DIR=. git branch
  topic

And then, tried it all again:

% cd ..
% rm -rf project
% mkdir project
% cd project
% git --bare clone --shared
% GIT_DIR=. git fetch git://source/public/project
warning: no common commits
remote: Generating pack...
remote: Done counting 1148 objects.
remote: Deltifying 1148 objects.
remote:  100% (1148/1148) done
Unpacking 1148 objects
remote: Total 1148, written 1148 (delta 632), reused 1020 (delta 534)
 100% (1148/1148) done
% GIT_DIR=. git branch
[eh?  No branches??]
% cat HEAD
ref: refs/heads/master

So, where are my branches?  And don't tell me I don't need no
steenking branches...


Bill

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 18:49           ` Jakub Narebski
@ 2007-01-30 19:04             ` Linus Torvalds
  2007-01-30 19:11               ` Bill Lear
  2007-01-30 19:18               ` Jakub Narebski
  2007-01-31  9:56             ` Jakub Narebski
  1 sibling, 2 replies; 22+ messages in thread
From: Linus Torvalds @ 2007-01-30 19:04 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: Bill Lear, Shawn O. Pearce, git



On Tue, 30 Jan 2007, Jakub Narebski wrote:
> 
> ...so "git clone" tries to checkout HEAD -> refs/heads/master
> branch, which does not exist. It is strange that git does not
> report error or at least warning, though...

Well, HEAD pointing to a non-existent branch is actually a perfectly valid 
thing. It literally means "I haven't done the first commit yet".

So Bill's repository is a perfectly fine repository. It has a topic branch 
(called 'topic'), and it has an empty 'master' branch that just hasn't 
seen any commits yet. You can work on it as a full and normal git 
repository, because it really *is* a full and normal git repository.

Of course, I do agree that it'sa fairly confusing way to set up a repo, 
and you generally shouldn't do it, but Bill did it that way explicitly. 
Maybe he didn't do it "on purpose", but git at no point in time had any 
way to know that Bill wanted somethign else. Nothing he did was "wrong", 
and it's quite possible that it's what he could have meant to do.

Anyway, it's certainly easy to fix. Bill, you can either:

 - just rename the "topic" branch to "master"

 - change the HEAD to point to "topic" rather than "master".

(and if you do that setup in the future, the way to populate the initial 
bare repository would have been to just do

	git fetch original topic:master

and you'd never have seen this, because the branch you fetched would have 
been named the default 'master' in the first place).

		Linus

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 19:03           ` Bill Lear
@ 2007-01-30 19:09             ` Shawn O. Pearce
  2007-01-30 19:17               ` Jakub Narebski
  2007-01-30 19:27               ` Bill Lear
  2007-01-30 19:33             ` Linus Torvalds
  1 sibling, 2 replies; 22+ messages in thread
From: Shawn O. Pearce @ 2007-01-30 19:09 UTC (permalink / raw)
  To: Bill Lear; +Cc: Linus Torvalds, Jakub Narebski, git

Bill Lear <rael@zopyra.com> wrote:
> % cd /repos/git/project
> % GIT_DIR=. git branch
>   topic
> 
> And then, tried it all again:
> 
> % cd ..
> % rm -rf project
> % mkdir project
> % cd project
> % git --bare clone --shared
> % GIT_DIR=. git fetch git://source/public/project

You did not ask for a tracking branch to be created.  So the
result of your fetch is in FETCH_HEAD only.  Try instead:

GIT_DIR=. git fetch git://source/public/project topic:refs/heads/master

-- 
Shawn.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 19:04             ` Linus Torvalds
@ 2007-01-30 19:11               ` Bill Lear
  2007-01-30 19:15                 ` Johannes Schindelin
  2007-01-30 19:18               ` Jakub Narebski
  1 sibling, 1 reply; 22+ messages in thread
From: Bill Lear @ 2007-01-30 19:11 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Jakub Narebski, Shawn O. Pearce, git

On Tuesday, January 30, 2007 at 11:04:57 (-0800) Linus Torvalds writes:
>...
>Of course, I do agree that it'sa fairly confusing way to set up a repo, 
>and you generally shouldn't do it, but Bill did it that way explicitly. 
>Maybe he didn't do it "on purpose", but git at no point in time had any 
>way to know that Bill wanted somethign else. Nothing he did was "wrong", 
>and it's quite possible that it's what he could have meant to do.

My setup was prompted by advice I got here.  Perhaps I misunderstood.
I thought the way to set up a shared public repo for my collaborators
was to git --bare init-db --shared, then do a git fetch from the upstream
repo.  I want to be able to push into my public repo from one or more
of my private repos, hence the need (I was told) for he bare option.

>Anyway, it's certainly easy to fix. Bill, you can either:
>
> - just rename the "topic" branch to "master"

I don't think I want this.  I want to know I'm on the topic branch of
that repo, anything else really makes me nervous.

> - change the HEAD to point to "topic" rather than "master".

Same for this...[Thanks for the advice, nevertheless.]

I wonder if the original repo I pulled from is just messed up.  Ahh --
I see Shawn just replied saying I needed to fetch in a different way.
I shall peruse that and report clarity of vision when achieved...


Bill

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 19:11               ` Bill Lear
@ 2007-01-30 19:15                 ` Johannes Schindelin
  2007-01-30 19:36                   ` Bill Lear
  0 siblings, 1 reply; 22+ messages in thread
From: Johannes Schindelin @ 2007-01-30 19:15 UTC (permalink / raw)
  To: Bill Lear; +Cc: Linus Torvalds, git

Hi,

On Tue, 30 Jan 2007, Bill Lear wrote:

> On Tuesday, January 30, 2007 at 11:04:57 (-0800) Linus Torvalds writes:
> 
> >Anyway, it's certainly easy to fix. Bill, you can either:
> >
> > - just rename the "topic" branch to "master"
> 
> I don't think I want this.  I want to know I'm on the topic branch of 
> that repo, anything else really makes me nervous.

The name in the bare repository does not matter as much as your _local_ 
name.

> > - change the HEAD to point to "topic" rather than "master".
> 
> Same for this...[Thanks for the advice, nevertheless.]

If you have only _one_ branch in the upstream repo, why don't you let 
"HEAD" (in that repo) point to that branch, but to a non-existent 
"master"? That does not make sense.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 19:09             ` Shawn O. Pearce
@ 2007-01-30 19:17               ` Jakub Narebski
  2007-01-30 19:27               ` Bill Lear
  1 sibling, 0 replies; 22+ messages in thread
From: Jakub Narebski @ 2007-01-30 19:17 UTC (permalink / raw)
  To: Shawn O. Pearce; +Cc: Bill Lear, Linus Torvalds, git

Shawn O. Pearce wrote:
> Bill Lear <rael@zopyra.com> wrote:

>> % git --bare clone --shared
>> % GIT_DIR=. git fetch git://source/public/project
> 
> You did not ask for a tracking branch to be created.  So the
> result of your fetch is in FETCH_HEAD only.  Try instead:
> 
> GIT_DIR=. git fetch git://source/public/project topic:refs/heads/master

Or you can use "git clone --bare --shared" (not "git --bare clone";
there is a diference).

-- 
Jakub Narebski
Poland

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 19:04             ` Linus Torvalds
  2007-01-30 19:11               ` Bill Lear
@ 2007-01-30 19:18               ` Jakub Narebski
  1 sibling, 0 replies; 22+ messages in thread
From: Jakub Narebski @ 2007-01-30 19:18 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Bill Lear, Shawn O. Pearce, git

Linus Torvalds wrote:

> Anyway, it's certainly easy to fix. Bill, you can either:
> 
>  - just rename the "topic" branch to "master"
> 
>  - change the HEAD to point to "topic" rather than "master".

Or, in repository you clone from, do "git pull . topic" when
on master, and you will have 'master' branch for your own work,
which would be fast-forward of 'topic'.

-- 
Jakub Narebski
Poland

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 19:09             ` Shawn O. Pearce
  2007-01-30 19:17               ` Jakub Narebski
@ 2007-01-30 19:27               ` Bill Lear
  1 sibling, 0 replies; 22+ messages in thread
From: Bill Lear @ 2007-01-30 19:27 UTC (permalink / raw)
  To: Shawn O. Pearce; +Cc: Linus Torvalds, Jakub Narebski, git

On Tuesday, January 30, 2007 at 14:09:07 (-0500) Shawn O. Pearce writes:
>...
>You did not ask for a tracking branch to be created.  So the
>result of your fetch is in FETCH_HEAD only.  Try instead:
>
>GIT_DIR=. git fetch git://source/public/project topic:refs/heads/master

Ok, then when I clone this my master branch in my cloned repo will
actually be pointing to the topic branch of the remote repo?

[recreate dir, re-init, fetch as above, clone; now, cd into cloned repo]
% cd project
% git branch
* master
  origin

This makes me really nervous, like a nervousness-inducing cloaking
device would.  I'm not enough of a git master to just "use the force".
When I go into my cloned repo, I want to see "topic" for my branch
name, not master...

BTW, I note also that the clone seems to have taken GOBS more time
this time around.  Am I seeing things or would this be a result of the
fetch gymnastics above?


Bill

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 19:03           ` Bill Lear
  2007-01-30 19:09             ` Shawn O. Pearce
@ 2007-01-30 19:33             ` Linus Torvalds
  2007-01-30 20:00               ` Linus Torvalds
  1 sibling, 1 reply; 22+ messages in thread
From: Linus Torvalds @ 2007-01-30 19:33 UTC (permalink / raw)
  To: Bill Lear; +Cc: Shawn O. Pearce, Jakub Narebski, git



On Tue, 30 Jan 2007, Bill Lear wrote:
>
> Hmm, so I did this:
> 
> % cd /repos/git/project
> % GIT_DIR=. git branch
>   topic
> 
> And then, tried it all again:
> 
> % cd ..
> % rm -rf project
> % mkdir project
> % cd project
> % git --bare clone --shared
> % GIT_DIR=. git fetch git://source/public/project

Heh. That's not doing what you seem to expect.

If you don't give it a branch to fetch into, "git fetch" will not populate 
*any* branch. It does fetch the data:

> warning: no common commits
> remote: Generating pack...
> remote: Done counting 1148 objects.
> remote: Deltifying 1148 objects.
> remote:  100% (1148/1148) done
> Unpacking 1148 objects
> remote: Total 1148, written 1148 (delta 632), reused 1020 (delta 534)
>  100% (1148/1148) done

but it never wrote it into a branch, since you didn't tell it where it 
should go.

It didn't go away entirely, though: it's referenced by FETCH_HEAD, and 
this is actually the *common* thing for fetch usage when you use it to 
just them merge the fetched result into your current head. That is, for 
example, what I do all the time (except the "fetch+merge" thing is usually 
just called "git pull" ;)

> % GIT_DIR=. git branch
> [eh?  No branches??]

Right.

> % cat HEAD
> ref: refs/heads/master

.. and again, this is fine, but it just means that since no "master" 
branch exists, you have an empty HEAD with no commits.

> So, where are my branches?  And don't tell me I don't need no
> steenking branches...

You absolutely need some steenking branches, but you need to tell git 
which branch you want to use.

So either use

	git --bare fetch git://source/public/project topic:master

(to tell git to fetch the remote 'topic' into the local 'master')

OR, if you just prefer using the 'topic' name - which is certainly not 
wrong at all, do

	git --bare fetch git://source/public/project topic:topic
	git --bare symbolic-ref HEAD refs/heads/topic

where that second line is important: it's the one that tells that you want 
HEAD to be pointing to the 'topic' branch.

[ You could have done that second line before the fetch, and really 
  considered it part of the "create repository" sequence, rather than the 
  "fetch" sequence ]

Or something like that.

		Linus

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 19:15                 ` Johannes Schindelin
@ 2007-01-30 19:36                   ` Bill Lear
  2007-01-30 19:43                     ` Bill Lear
  2007-01-30 20:38                     ` Bill Lear
  0 siblings, 2 replies; 22+ messages in thread
From: Bill Lear @ 2007-01-30 19:36 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Linus Torvalds, git

On Tuesday, January 30, 2007 at 20:15:37 (+0100) Johannes Schindelin writes:
>On Tue, 30 Jan 2007, Bill Lear wrote:
>> On Tuesday, January 30, 2007 at 11:04:57 (-0800) Linus Torvalds writes:
>> 
>> >Anyway, it's certainly easy to fix. Bill, you can either:
>> >
>> > - just rename the "topic" branch to "master"
>> 
>> I don't think I want this.  I want to know I'm on the topic branch of 
>> that repo, anything else really makes me nervous.
>
>The name in the bare repository does not matter as much as your _local_ 
>name.

Well, being a git newbie, it kinda matters to me.  I need linearity
right now.  Anything that swerves is likely to result in me and my
project stuck in the weeds.

So, I tried a straight fetch:

% GIT_DIR=. git fetch git://source/public/project

This has one branch:

% GIT_DIR=. git branch
  topic

Then a clone of that:

% cd over_there
% git clone /repos/git/project
[...]
% cd project
% git branch
  topic

All is well exactly what I want and expect ... except:

% ls -a
.  ..  .git

No checkout was done.  I'm finding this extremely confusing.

I just want to work on the branch, and I want it identified as such,
and I want it checked out, and I want some candy.

Sorry to whine, just wish I understood this better.


Bill

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 19:36                   ` Bill Lear
@ 2007-01-30 19:43                     ` Bill Lear
  2007-01-30 19:54                       ` Bill Lear
  2007-01-30 20:38                     ` Bill Lear
  1 sibling, 1 reply; 22+ messages in thread
From: Bill Lear @ 2007-01-30 19:43 UTC (permalink / raw)
  To: Johannes Schindelin, Linus Torvalds, git

On Tuesday, January 30, 2007 at 13:36:50 (-0600) Bill Lear writes:
>On Tuesday, January 30, 2007 at 20:15:37 (+0100) Johannes Schindelin writes:
>>On Tue, 30 Jan 2007, Bill Lear wrote:
>>> On Tuesday, January 30, 2007 at 11:04:57 (-0800) Linus Torvalds writes:
>>> 
>>> >Anyway, it's certainly easy to fix. Bill, you can either:
>>> >
>>> > - just rename the "topic" branch to "master"
>>> 
>>> I don't think I want this.  I want to know I'm on the topic branch of 
>>> that repo, anything else really makes me nervous.
>>
>>The name in the bare repository does not matter as much as your _local_ 
>>name.
>
>Well, being a git newbie, it kinda matters to me.  I need linearity
>right now.  Anything that swerves is likely to result in me and my
>project stuck in the weeds.
>
>So, I tried a straight fetch:
>
>% GIT_DIR=. git fetch git://source/public/project
>
>This has one branch:
>
>% GIT_DIR=. git branch
>  topic

Ummm, I may have made a mistake here ... doing again to ensure I did
not mis-type above ...


Bill

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 19:43                     ` Bill Lear
@ 2007-01-30 19:54                       ` Bill Lear
  0 siblings, 0 replies; 22+ messages in thread
From: Bill Lear @ 2007-01-30 19:54 UTC (permalink / raw)
  To: Johannes Schindelin, Linus Torvalds, git

On Tuesday, January 30, 2007 at 13:43:22 (-0600) Bill Lear writes:
>On Tuesday, January 30, 2007 at 13:36:50 (-0600) Bill Lear writes:
>>On Tuesday, January 30, 2007 at 20:15:37 (+0100) Johannes Schindelin writes:
>>>On Tue, 30 Jan 2007, Bill Lear wrote:
>>>> On Tuesday, January 30, 2007 at 11:04:57 (-0800) Linus Torvalds writes:
>>>> 
>>>> >Anyway, it's certainly easy to fix. Bill, you can either:
>>>> >
>>>> > - just rename the "topic" branch to "master"
>>>> 
>>>> I don't think I want this.  I want to know I'm on the topic branch of 
>>>> that repo, anything else really makes me nervous.
>>>
>>>The name in the bare repository does not matter as much as your _local_ 
>>>name.
>>
>>Well, being a git newbie, it kinda matters to me.  I need linearity
>>right now.  Anything that swerves is likely to result in me and my
>>project stuck in the weeds.
>>
>>So, I tried a straight fetch:
>>
>>% GIT_DIR=. git fetch git://source/public/project
>>
>>This has one branch:
>>
>>% GIT_DIR=. git branch
>>  topic
>
>Ummm, I may have made a mistake here ... doing again to ensure I did
>not mis-type above ...

Ok, I hate twice quoting my self, especially to admit to crack smoking.
I was indeed apparently smoking crack --- no such branch shows up...


Bill

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 19:33             ` Linus Torvalds
@ 2007-01-30 20:00               ` Linus Torvalds
  0 siblings, 0 replies; 22+ messages in thread
From: Linus Torvalds @ 2007-01-30 20:00 UTC (permalink / raw)
  To: Bill Lear; +Cc: Shawn O. Pearce, Jakub Narebski, git



On Tue, 30 Jan 2007, Linus Torvalds wrote:
> 
> So either use
> 
> 	git --bare fetch git://source/public/project topic:master
> 
> (to tell git to fetch the remote 'topic' into the local 'master')

Side note: it's usually a good idea to have a 'master' branch, not so much 
because git itself really cares (it's just a default, after all, in a 
technical sense), but more because NOT having a master branch may then end 
up confusing other people who try to access the repository, and it doesn't 
have the normal default branch.

> OR, if you just prefer using the 'topic' name - which is certainly not 
> wrong at all, do
> 
> 	git --bare fetch git://source/public/project topic:topic
> 	git --bare symbolic-ref HEAD refs/heads/topic

And another note on this. I did do that with a special command, and yes, 
th is is what you should do in a script. HOWEVER, as with .git/config, I 
really think it's probably just easier to open your editor on the HEAD 
file directly, and just do that renaming by hand.

I _like_ people being able to just open files and mucking with them. It's 
considered extremely bad form in CVS (yeah, people _do_ actually open the 
CVS internal *,v files and muck with them, and it's a horrible horrible 
thing to do, but sometimes people have reason to do it), but in git, all 
the files you really *really* must not try to edit are compressed binary 
files and are protected by really strong checksums etc, so I don't think 
it's wrong to encourage people to edit files under .git/ by hand.

The things that can be edited are perfectly fine to edit. You can screw 
things up, of course, but on the other hand, I think people can really get 
a much better feeling for what git does if they end up understanding the 
files that git depends on.

So by all means, get down and dirty, and just fire up your editor on 
.git/HEAD when you want to create a repository that has some other default 
HEAD than 'master'.

		Linus

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 19:36                   ` Bill Lear
  2007-01-30 19:43                     ` Bill Lear
@ 2007-01-30 20:38                     ` Bill Lear
  1 sibling, 0 replies; 22+ messages in thread
From: Bill Lear @ 2007-01-30 20:38 UTC (permalink / raw)
  To: Johannes Schindelin, Linus Torvalds, git

Ok, in my own inimitable way, I think I have figured this out.  Please
let me know if this is dumb (output of commands below clipped):

% git --bare init-db --shared
% GIT_DIR=. git fetch git://source/public/project topic:topic
% cd there
% git clone /repos/git/project
% cd project
% git checkout topic
warning: You do not appear to currently be on a branch.
warning: Forcing checkout of topic^0.

If this is ok, this appears to give me the result I want ... I think.

Thanks to all for hand-holding the blind and if someone already mentioned
this option, apologies for missing it.


Bill

On Tuesday, January 30, 2007 at 13:36:50 (-0600) Bill Lear writes:
>On Tuesday, January 30, 2007 at 20:15:37 (+0100) Johannes Schindelin writes:
> ...

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Why is git clone not checking out files?
  2007-01-30 18:49           ` Jakub Narebski
  2007-01-30 19:04             ` Linus Torvalds
@ 2007-01-31  9:56             ` Jakub Narebski
  1 sibling, 0 replies; 22+ messages in thread
From: Jakub Narebski @ 2007-01-31  9:56 UTC (permalink / raw)
  To: git; +Cc: Bill Lear, Shawn O. Pearce, Linus Torvalds

On 1/30/07, Jakub Narebski <jnareb@gmail.com> wrote:

> ...so "git clone" tries to checkout HEAD -> refs/heads/master
> branch, which does not exist. It is strange that git does not
> report error or at least warning, though...

It would be nice if git-clone at the very end (at checkout) wrote which
branch we are at, e.g.
  "On branch refs/heads/master"
  "Not currently on any branch"
  "Current branch refs/heads/master does not exist"
-- 
Jakub Narebski

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2007-01-31  9:56 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-01-30 18:05 Why is git clone not checking out files? Bill Lear
2007-01-30 18:15 ` Jakub Narebski
2007-01-30 18:18   ` Bill Lear
2007-01-30 18:22     ` Shawn O. Pearce
2007-01-30 18:29       ` Bill Lear
2007-01-30 18:41         ` Linus Torvalds
2007-01-30 18:49           ` Jakub Narebski
2007-01-30 19:04             ` Linus Torvalds
2007-01-30 19:11               ` Bill Lear
2007-01-30 19:15                 ` Johannes Schindelin
2007-01-30 19:36                   ` Bill Lear
2007-01-30 19:43                     ` Bill Lear
2007-01-30 19:54                       ` Bill Lear
2007-01-30 20:38                     ` Bill Lear
2007-01-30 19:18               ` Jakub Narebski
2007-01-31  9:56             ` Jakub Narebski
2007-01-30 19:03           ` Bill Lear
2007-01-30 19:09             ` Shawn O. Pearce
2007-01-30 19:17               ` Jakub Narebski
2007-01-30 19:27               ` Bill Lear
2007-01-30 19:33             ` Linus Torvalds
2007-01-30 20:00               ` Linus Torvalds

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.