What is the best way to rebase against linux-next

Andy Whitcroft apw at canonical.com
Wed Apr 29 17:46:50 UTC 2009


On Wed, Apr 29, 2009 at 09:31:44AM -0600, Tim Gardner wrote:
> Andy,
> 
> I've been experimenting with keeping ubuntu-next up to date with
> linux-next, but I'm having some problems getting a clean rebase while
> still preserving some local changes (such as the commit that adds the
> debian directory).
> 
> This is what I'm doing:
> 
> git remote add next
> git://git.kernel.org/pub/scm/linux/kernel/git/sfr/linux-next.git
> git fetch next
> git rebase next/master
> 
> The rebase conflicts frequently (as you might expect), so I just 'git
> rebase --skip' thinking that this performs the upstream commit and drops
> the local conflicting commit. At the end of the process I compared the 2
> trees and found some differences that I did not expect. Any thoughts?

Ahh yes I can see where the issue is coming from.  I would actually not
expect a rebase (of our delta) to conflict at all as we should only have
changes outside of the tree.

I surmise you are getting conflicts because the next tree itself is a
rebase tree.  Therefore when you rebase it attempts to move all of
linux-next (old) over to linux-next (new) and that isn't what you
wanted.  You only wanted our ubuntu commits rebased.  This would be a
case where you would want to use the rebase --onto option, something
like the following where N represents how many ubuntu specific commits
there are; 2 in my tree here.

	git rebase --onto next/master HEAD~N

It would be common to do something like placing a tag at the tip so you
can use that for the next rebase:

	git rebase --onto next/master ubuntu-next-base
	git tag -f ubuntu-next-base next/master

-apw




More information about the kernel-team mailing list