threads / discuss / 21110

stgit, rebasing with 100 patches

Subject: stgit, rebasing with 100 patches

## tl;dr

3 messages between Oct 1, 2009 and Nov 2, 2009.

replies: 2people: 2as markdown or json

Jon Smirl· Oct 1, 2009, 23:04 UTC · lore

I have 100 patches loaded into in stgit. My tree is at 2.6.30. Now I want to rebase to 2.6.31-rc1. About 30 of these hundred patches got committed in this interval.

If I rebase directly to 2.6.31-rc1 I end up with a bunch of merge conflicts as the patches are applied. That's because patches 'a,b,c' got applied in the merge window. When I push 'a' back down it sees the combination of 'a,b,c' not just 'a'. It is unable to figure out that 'a' was applied and then 'b' and 'c' applied on top of it.

Is there a better way to locate the patches the got applied?
-- 
Jon Smirl
jonsmirl@gmail.com
Jon Smirl· Oct 4, 2009, 13:00 UTC · re: Jon Smirl · lore

Re: stgit, rebasing with 100 patches

On Thu, Oct 1, 2009 at 7:04 PM, Jon Smirl <jonsmirl@gmail.com> wrote:
Show 11 quoted lines
> I have 100 patches loaded into in stgit. My tree is at 2.6.30. Now I
> want to rebase to 2.6.31-rc1. About 30 of these hundred patches got
> committed in this interval.
>
> If I rebase directly to 2.6.31-rc1 I end up with a bunch of merge
> conflicts as the patches are applied. That's because patches 'a,b,c'
> got applied in the merge window. When I push 'a' back down it sees the
> combination of 'a,b,c' not just 'a'. It is unable to figure out that
> 'a' was applied and then 'b' and 'c' applied on top of it.
>
> Is there a better way to locate the patches the got applied?

A solution to this is to make an option on rebase that walks the patch stack forward one commit at a time.

What does the --merged option do on stg rebase? The doc is rather sparse.
-- 
Jon Smirl
jonsmirl@gmail.com
Karl Wiberg· Nov 2, 2009, 08:22 UTC · re: Jon Smirl · lore

Re: stgit, rebasing with 100 patches

On Sun, Oct 4, 2009 at 2:00 PM, Jon Smirl <jonsmirl@gmail.com> wrote:
Show 9 quoted lines
> On Thu, Oct 1, 2009 at 7:04 PM, Jon Smirl <jonsmirl@gmail.com> wrote:
>
> > Is there a better way to locate the patches the got applied?
>
> A solution to this is to make an option on rebase that walks the
> patch stack forward one commit at a time.
>
> What does the --merged option do on stg rebase? The doc is rather
> sparse.

Right, -m/--merged is what you want. Before applying any of the patches, it tries to reverse-apply all of them in reverse order---successful applications mean the patch was already in upstream. It works surprisingly well.

-- 
Karl Wiberg, kha@treskal.com
   www.treskal.com/kalle

← back to recent threads