How to develop against linux-next
How to develop against linux-next
Posted Jul 9, 2008 15:16 UTC (Wed) by jejb (subscriber, #6654)In reply to: The current development kernel is...linux-next? by iabervon
Parent article: The current development kernel is...linux-next?
I assume from your comments that you're using git not quilt? (since quilt doesn't really care if you change the tree under it, you just do a quilt pop -a; install new tree; quilt push -a) The way to develop against linux-next in git is to use git rebase --onto to move your patches as linux-next changes. So, assume you have a git tree with your patches on the master branch. You also need to record the base of your branch with either a tag or a branch (you do this before you start adding patches) so that git format-patch base produces exactly all the patches you're managing. The way I set this up is to clone a tree (git clone <tree>) record the base (git branch base) and simply develop committing along the way. Now set up remote tracking branches (I tend to do one for linux-next and one for linus as): git remote add -t master -f linus git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git git remote add -t master -f next git://git.kernel.org/pub/scm/linux/kernel/git/sfr/linux-next.git The point of keeping the linus tree is that eventually all the branches that comprise next are merged into linus, at which point your patches will be ready for submission against vanilla linus. To download the current trees of the day, simply do a git remote update and to put your patches onto the current linux-next do git rebase --onto remotes/next/master base If this is successfully completed, you need to record the fact that you've moved the base of your patches: git branch -M base remotes/next/master You can keep doing this as many times as linux-next updates. If you think you're ready to try to place your patches onto vanilla linus, just repeat the recipe but with remotes/linus/master instead of remotes/next/master. If your attempt to rebase onto linus fails (usually because of missing commits that were in linux-next that you're relying on) simply do git rebase --abort.
