git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Question on multi-level git repository heiarchy.

From
BGBen Greear <greearb@candelatech.com>
Date
Nov 16, 2006, 00:43 UTC
Message-ID
<455BB418.80402@candelatech.com>
In-Reply-To
<20061027052517.GB29057@spearce.org>
Shawn Pearce wrote:
Show 43 quoted lines
> Ben Greear <greearb@candelatech.com> 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
>  
>> 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.

I have been using a variation of this with some success. (I didn't rename the .git directory on the master tree, but the directory only contains a .git directory so I assume that I'm using a bare tree....)

I have been able to do 'git pull origin' and 'git push origin master' to sync and commit my lf_v2.6.18 branch from my work-station repositories (per this page's instructions: http://www.kernel.org/pub/software/scm/git/docs/cvs-migration.html

Now, I would like to fetch down all of the changes from kernel.org to my master tree and then update my work-station branches. On the master, I ran 'git fetch'. It took a while and seemed to do the right thing. There is still nothing other than .git in the directory, and subsequent 'git fetch' calls return quickly w/out doing anything.

However, I cannot find an incantation on the work-station machines to pull down the changes and sync up with kernel.org.

I did a 'git fetch' on the work-station, but gitk still does not show anything new in 'master' or 'lf_v2.6.18

I tried checking out master and running: git pull . master but it said Already up-to-date.

I tried checking out the master branch on the work-station and doing a 'git pull' there. It got a lot of conflicts from the changes that I had made in the lf_v2.6.18 branch.

I want to have some local branch contain only official kernel patches, and then fork my own branches off to track my individual changes. My assumption was that I could do something like:

git checkout master git pull

and have master updated with (only) the latest tree from kernel.org and have lf_v2.6.18 un-touched.

Any pointers are welcome.

Thanks, Ben

-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com
Previous: Andy Parkins
Message 5 of 5 in “Question on multi-level git repository heiarchy.”
  1. Ben GreearOct 27, 2006
  2. Shawn PearceOct 27, 2006
  3. Ben GreearOct 27, 2006
  4. Andy ParkinsOct 27, 2006
  5. Ben GreearNov 16, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.