Merging an existent kernel tree with a remote one
From EnneEnneWiki
Introduction
Ok, your internet connection is slow and you have no time to waste in waiting for code downloading... but if you have your own Linux Vanilla repository you are lucky! In this page I'll show you how you can merge it with one of my repositories.
Suppose you wish to get linuxpps's repository (for other projects the procedure is just the same) and consider also that you have your Linux Vanilla into directory linux-2.6-git. Here what you have to do.
Merging local repository
First of all you have to create a new branch for linuxpps starting from your preferred linux version:
foo@bar:~/linux-2.6-git$ git checkout -b linuxpps
then download and merge only linuxpps changes from my server on master branch into your current local branch:
foo@bar:~/linux-2.6-git$ git pull git://git.enneenne.com/linuxpps master
This example came from Wikipedia (Great! We are on Wikipedia!!!)
If you wish cloning your local Linux Vanilla repository in order to have multiple copies of it, you can use the command:
foo@bar:~$ git clone --reference /path/to/linux/clone
If you have no Linux Vanilla repository to clone from you can use rsync to grab one (since the trees on kernel.org are available by all of http, git and rsync and go from there. You do need the --partial option to rsync (use -avrPSH). Once you get a rsync you can use it as a --bare clone. Clone from that (use an ssh url) and then use that clone for the --reference (thanks to James Cloos).
As above, whenever new patches are added into my repository you may update your own repository just giving the command:
foo@bar:~/linux-2.6-git$ git pull git://git.enneenne.com/linuxpps
Please note that is this case you must have checked out the linuxpps branch and not the master one as in the first example (repository cloning).
