From: Ben Greear <greearb@candelatech.com>
To: Shawn Pearce <spearce@spearce.org>
Cc: git@vger.kernel.org
Subject: Re: Question on multi-level git repository heiarchy.
Date: Wed, 15 Nov 2006 16:43:04 -0800 [thread overview]
Message-ID: <455BB418.80402@candelatech.com> (raw)
In-Reply-To: <20061027052517.GB29057@spearce.org>
Shawn Pearce wrote:
> 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
next prev parent reply other threads:[~2006-11-16 0:43 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-27 5:12 Question on multi-level git repository heiarchy Ben Greear
2006-10-27 5:25 ` Shawn Pearce
2006-10-27 14:05 ` Ben Greear
2006-10-27 15:31 ` Andy Parkins
2006-11-16 0:43 ` Ben Greear [this message]
-- strict thread matches above, loose matches on Subject: below --
2006-10-27 19:26 linux
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=455BB418.80402@candelatech.com \
--to=greearb@candelatech.com \
--cc=git@vger.kernel.org \
--cc=spearce@spearce.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).