quilt-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Quilt-dev] Strange problem when applying and refreshing a patch


From: Andreas Gruenbacher
Subject: Re: [Quilt-dev] Strange problem when applying and refreshing a patch
Date: Tue, 12 May 2009 09:32:28 +0200
User-agent: KMail/1.9.9

On Tuesday, 12 May 2009 8:23:40 Ozan Çağlayan wrote:
> Andreas Gruenbacher wrote On 12-05-2009 00:19:
> > So is this good or bad, and what do you think quilt is doing wrong?
>
> Actually it's really hard to explain the problem over here, but I'll try
> to create a test case:
>
> * The patch actually contains 6 commits to the same file, a total of 19K,
> * I'm applying it on my kernel tree using quilt push, and there's a tiny
> conflict which avoids the patch from applying,
> * I'm applying it with quilt push -f, all the hunks except the
> conflicting one applies well,
>
> At that point, everything is fine, quilt diff -z is null as expected.
>
> * I edit the patch using quilt edit, and then resolve the conflict.

Well, you did edit drivers/net/r8169.c, not the patch.

>  BTW, the conflicting part is only a 5-line addition, no deletion is
>  available. 
> * quilt diff -z shows the 5-line addition as expected:
>
> Index: linux-2.6.25/drivers/net/r8169.c
> ===================================================================
> --- linux-2.6.25.orig/drivers/net/r8169.c
> +++ linux-2.6.25/drivers/net/r8169.c
> @@ -515,6 +515,11 @@ static int rtl8169_poll(struct napi_stru
>  static const unsigned int rtl8169_rx_config =
>         (RX_FIFO_THRESH << RxCfgFIFOShift) | (RX_DMA_BURST <<
> RxCfgDMAShift);
>
> +static void mdio_patch(void __iomem *ioaddr, int reg_addr, int value)
> +{
> +       mdio_write(ioaddr, reg_addr, mdio_read(ioaddr, reg_addr) | value);
> +}
> +
>  static void mdio_write(void __iomem *ioaddr, int reg_addr, int value)
>  {
>         int i;
>
> -----------------
>
> Now I have the original patch -> 19K [0]
> An unapplied modification of 5 lines over that patch [Seen above]
>
> I refresh the patch, and then the whole patch is garbled in a way that I
> can't see any logic, the size is reduced to 15K,

What did you expect, that quilt somehow magically preserves the six individual 
patches or the comments between patches? It cannot do that. If you want to 
preserve individual patches, don't concatenate them in the first place.

> the patch is completely invalid [1]

The patch transforms drivers/net/r8169.c from the old into the new state for 
me. What is garbled or invalid about that?

Thanks,
Andreas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]