# Forward-port a patch using git

3 messages from 2010-12-01 to 2010-12-01. Participants: Spelic, Jeff King.
Thread: https://gitlist.dev/t/25886

## Spelic, 2010-12-01 15:37

Subject: Forward-port a patch using git
Message-ID: <4CF66BAA.1010203@shiftmail.org>
URL: https://gitlist.dev/e/4CF66BAA.1010203%40shiftmail.org

```
Hi all
I have patches (xyz.patch files) which apply cleanly to kernel 2.6.36 
and 2.6.36.1 and do not apply cleanly on 2.6.37-rc4 (I mean they do 
apply but with massive offsets...)
I would like to forward-port them to 2.6.37-rc4, i.e. create equivalent 
patch files that would apply cleanly on 2.6.37-rc4 with zero offsets.

I have thought that there should be some git mechanism to confirm that 
such massive offsets which "patch" sees are actually correct and not 
false-positives, and are caused by the commits from 2.6.36 to 
2.6.37-rc4. There should be some mechanism in git to track line shifts 
in source files caused by commits...
After confirming this, Git should create for me equivalent patch files 
that apply cleanly to 2.6.37-rc4 that I can give to other people.

Is it possible? I am unfortunately a newbie with git. Can you help me?

Thank you
PS: I have downloaded the linux-2.6-stable git repository containing all 
needed revisions: v2.6.36, v2.6.36.1 and v2.6.37 .

```

## Spelic, 2010-12-01 18:11

Subject: Re: Forward-port a patch using git
Message-ID: <4CF68FCB.2030301@shiftmail.org>
URL: https://gitlist.dev/e/4CF68FCB.2030301%40shiftmail.org
In-Reply-To: <4CF66BAA.1010203@shiftmail.org>

```
On 12/01/2010 04:37 PM, Spelic wrote:
> Hi all
> I have patches (xyz.patch files) which apply cleanly to kernel 2.6.36 
> and 2.6.36.1 and do not apply cleanly on 2.6.37-rc4 (I mean they do 
> apply but with massive offsets...)
> I would like to forward-port them to 2.6.37-rc4, i.e. create 
> equivalent patch files that would apply cleanly on 2.6.37-rc4 with 
> zero offsets.
>

I found it myself, sorry for having asked.

It was:

checkout v2.6.36
apply 1 patch
commit
apply 1 patch
commit
...
rebase v2.6.37-rc4
git format-patch -o <destdir> -numpatches

```

## Jeff King, 2010-12-01 18:16

Subject: Re: Forward-port a patch using git
Message-ID: <20101201181626.GD7774@sigill.intra.peff.net>
URL: https://gitlist.dev/e/20101201181626.GD7774%40sigill.intra.peff.net
In-Reply-To: <4CF68FCB.2030301@shiftmail.org>

```
On Wed, Dec 01, 2010 at 07:11:23PM +0100, Spelic wrote:

> I found it myself, sorry for having asked.
> 
> It was:
> 
> checkout v2.6.36

Be aware that checking out the v2.6.36 tag will mean you are not on any
branch. So this will work fine:

> apply 1 patch
> commit
> apply 1 patch
> commit
> ...
> rebase v2.6.37-rc4
> git format-patch -o <destdir> -numpatches

But at the end, you will not have any branch tip pointing to your
rebased work. If all you want are the patches as output, then that's
fine. But you may want to do:

  git checkout -b some-useful-name v2.6.36

as the first step instead, which means you can come back to your rebased
work later as "some-useful-name".

-Peff

```
