Subject: Re: Question on multi-level git repository heiarchy.

From: Ben Greear <[email-masked]>
Date: Fri, 27 Oct 2006 07:05:02 -0700

Shawn Pearce wrote:
> Ben Greear <[email-masked]> wrote:
>   
>> I want to create an intermediate level..something like:
>>
>> kernel.org git tree
>>       |
>> my git master tree
>> /                          \
>> work-station-1   work-station-2  ....
>>     
>  
>   
>> I then did a git  checkout -f master on the
>> pub server and did a pull from the upstream kernel.
>> This seemed to work fine.
>>     
>
> Ah, what you really want here is to make your "my git master tree"
> a bare repostiory and use fetch instead of pull.  This way you
> don't need to maintain a working directory of files associated
> with that repository.  So assuming you have "mygitmastertree"
> as the directory do:
>
> 	mv mygitmastertree/.git mygitmastertree.git
> 	rm -rf mygitmastertree
>
> and update your workstation .git/remotes/origin files such
> that the URL line reads ".../mygitmastertree.git" rather than
> ".../mygitmastertree/.git".
>
> Then to update "mygitmastertree" with recent changes you can use
> git fetch rather than git pull:
>
> 	git --git-dir mygitmastertree.git fetch
>   

Ok, I made those changes...
>  
>   
>> Then, on the work-station, I did a git checkout -f master, and also did 
>> a pull.
>> In this case, it seems that it is trying to merge with changes in the 
>> lf_v2.6.18 branch
>> instead of the the main 'master' tree (see below).
>>     
>
> When you use "git pull" with no additional arguments the first
> branch listed in a Pull: line of .git/remotes/origin will be the
> branch merged into the current branch.  I don't know what that
> branch is listed as in your workstation tree but from what you
> described it sounds like it may be that lf_v2.6.18 branch, which
> is why its trying to merge it.
>   
That is certainly not intuitive.

I want to synchronize the entire git repo, including all branches.  How 
would I go
about doing that?

Is there any way to recover my currently mangled tree on the 
workstation, or do I need
to start fresh there?  If I start fresh, do I re-clone, or is there some 
better way to get
the synchronization that I want?

Thanks,
Ben

-- 
Ben Greear <[email-masked]> 
Candela Technologies Inc  http://www.candelatech.com