Messages in this thread | | | Date | Sat, 04 Jun 2005 14:16:07 -0400 | From | Jeff Garzik <> | Subject | Re: [doc][git] playing with git, and netdev/libata-dev trees |
| |
Dave Airlie wrote: >>>1. when you want to publish your tree what do you do? just rsync it >>>onto kernel.org? >> >>Basically. I copy the attached script into each repo, customize the >>script for the upload destination. >> >>When I publish the tree, I just cd to the toplevel dir on my local >>workstation, and run "./push" >> >> >> >>>2. When you are taking things from your queue for Linus do you create >>>another tree and merge your branches into it or what? >> >>Not quite sure what you're asking, but I'll attempt to answer anyway :) > > > Yes that's what I'm asking, mainly the pulling of multiple trees into > one tree for giving to Linus, for Andrew I'm quite happy to have him > pull multiple HEADs from the one tree assuming I don't have many > interdependencies between trees... > > Say I want something like this one tree with > > drm-2.6 - HEAD <- linus tree > - drm-via < a via driver > - drm-initmap > - drm-savage <- a savage driver that depends on > the drm-initmap tree > > How would I construct such a beast, how does it work out from where to > branch, can I branch a branch for something like drm-savage so I can > say send Linus the initmap branch and then have -mm pulling the savage > one...
You used to use BitKeeper, right?
Well, git works just fine for creating and maintaining separate repos, where each repo is its own branch. Dependent branches are handled simply by pulling new changes from the parent (drm-initmap) repo into the child (drm-savage) repo.
If you just have a few branches, such as your example above, rather than the 50+ branches I have, then I would recommend _ignoring_ the advice in my git howto, and instead create a new branch by cloning:
cd /repos mkdir drm-via cp -a linux-2.6/.git drm-via rm -rf drm-via/.git/objects cp -al linux-2.6/.git/objects drm-via/.git
Once created by the above recipes, or similar, the directory will function as a repo just like with BK. When you wish to update it from upstream, update your local linux-2.6 repo and then
cd /repos/drm-via git-pull-script /repos/linux-2.6/.git
or to pull new changes from initmap into savage:
cd /repos/drm-initmap # { check in some changes } cd /repos/drm-savage git-pull-script /repos/drm-initmap/.git
Does all that make sense? It's really quite similar to BK, if you ignore the "[jg-specific]" portions of the git howto I wrote.
Jeff
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |