From: Stephen Kelly Date: Wed, 01 Sep 2010 11:51:03 GMT Subject: Re: Additional remote on a local clone. Where do the objects go? Message-ID: In-Reply-To: Tay Ray Chuan wrote: > Hi, > > On Wed, Sep 1, 2010 at 3:12 PM, Stephen Kelly wrote: >> git clone git://gitorious.org/qt/qt.git qtrepo >> cd qtrepo >> git checkout -b 4.7 origin/4.7 >> git checkout -b 4.6 origin/4.6 >> git clone qtrepo qt46 >> cd qt46 && git checkout -b 4.6 origin/4.6 >> cd .. >> git clone qtrepo qt47 >> cd qt46 && git checkout -b 4.7 origin/4.7 >> cd .. > > Two improvements: shared objects, and configuring git-pull: I'm confused. I thought the local clone already used shared objects? > > git clone git://gitorious.org/qt/qt.git qtrepo > git init qt46 > PARENT_GIT=$(pwd)/qtrepo/.git > cd qt46 > > # use of shared objects - tell git where to find the "missing" objects > cat $PARENT_GIT/objects > .git/objects/info/alternates > > # setup of git pull > cat <> .git/config > [remote "parent"] > url = $PARENT_GIT > [branch "master"] > remote = parent > merge = refs/remotes/origin/4.6 > EOF So this will pull from the gitorious remote and store the objects in the parent git from where they are shared with this local clone? Which is the better solution between this and git-new-workdir given that these are permanent branches, not temporary, and I'll want to push and pull various clones and share the objects. It looks like the git-new-workdir option creates symlinks, whereas the local clone creates hard links, and this solution creates a redirect of sorts. > > # done! > git pull > > Repeat for 4.7. > > If you want to go one step further and track these repos, you could > look at git-submodule or git-subtree. >