git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andreas Gruenbacher <agruen@suse.de>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: bug-patch@gnu.org,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	linux-sh@vger.kernel.org, "Magnus Damm" <magnus.damm@gmail.com>,
	linux-arm-kernel@lists.infradead.org,
	"Jean-Christophe PLAGNIOL-VILLARD" <plagnioj@jcrosoft.com>,
	git@vger.kernel.org
Subject: Re: [bug-patch] [BUG?] rename patch accepted with --dry-run, rejected without (Re: [PATCH V3] arm & sh: factorised duplicated clkdev.c)
Date: Sat, 4 Sep 2010 00:58:17 +0200	[thread overview]
Message-ID: <201009040058.18028.agruen@suse.de> (raw)
In-Reply-To: <20100903184351.GC2341@burratino>

Hi,

On Friday 03 September 2010 20:43:51 Jonathan Nieder wrote:
> Uwe Kleine-König wrote:
> > On Fri, Sep 03, 2010 at 07:18:43PM +0900, Magnus Damm wrote:
> 
> >> Using --dry-run is fine, but omitting dry-run gives me:
> >> 
> >> ...
> >> patching file arch/arm/common/clkdev.c
> >> patching file arch/sh/include/asm/clkdev.h
> >> Hunk #1 FAILED at 1.
> >> Hunk #2 FAILED at 11.
> >> 2 out of 2 hunks FAILED -- saving rejects to file
> >> arch/sh/include/asm/clkdev.h.rej
> >> 
> >> I guess this is caused by the last "renaming" hunk, see below.
> 
> Yep, I can reproduce this.  Patch applies with "git apply",
> "patch --dry-run -p1" accepts it, "patch -p1" fails.
> 
>  $ patch --version | head -1
>  GNU patch 2.6.1.85-423d
>  $ cd ~/src/linux-2.6
>  $ git checkout 2bfc96a12
>  $ git clean -fd
>  $ wget http://download.gmane.org/gmane.linux.ports.sh.devel/8747/8748
> [...]

something pretty bizarre is going on here.  The wget output modifies the same 
file twice, but both patches to this file have the same source sha1 (5645f35):

> diff --git a/arch/sh/include/asm/clkdev.h b/arch/sh/include/asm/clkdev.h
> dissimilarity index 69%
> index 5645f35..6ba9186 100644
> --- a/arch/sh/include/asm/clkdev.h
> +++ b/arch/sh/include/asm/clkdev.h

> diff --git a/arch/sh/include/asm/clkdev.h b/include/linux/clkdev.h
> similarity index 85%
> rename from arch/sh/include/asm/clkdev.h
> rename to include/linux/clkdev.h
> index 5645f35..457bcb0 100644

So "git apply" and "patch --dry-run" seem to work only by accident.

How was this patch generated: with git itself?

The fact that "patch --dry-run" may not work for patches that modify the same 
file twice is a known defect.  I don't know how to solve this in a reasonably 
elegant way.  Luckily the problem only triggers when people are doing 
something "strange" such as concatenating patches.

Andreas

  parent reply	other threads:[~2010-09-03 23:04 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1283431716-21540-1-git-send-email-plagnioj@jcrosoft.com>
     [not found] ` <1283434786-26479-1-git-send-email-plagnioj@jcrosoft.com>
     [not found]   ` <AANLkTimRKCYYQmgwY0DHu5+e-ggT8grJbdjWFvUqTzH=@mail.gmail.com>
2010-09-03 18:23     ` [PATCH V3] arm & sh: factorised duplicated clkdev.c Uwe Kleine-König
2010-09-03 18:43       ` [BUG?] rename patch accepted with --dry-run, rejected without (Re: [PATCH V3] arm & sh: factorised duplicated clkdev.c) Jonathan Nieder
2010-09-03 19:29         ` Russell King - ARM Linux
2010-09-03 19:33           ` Uwe Kleine-König
2010-09-03 19:45             ` Andreas Schwab
2010-09-04  0:03             ` Russell King - ARM Linux
2010-09-04 21:33               ` [bug-patch] " Andreas Gruenbacher
2010-09-04 21:45                 ` Russell King - ARM Linux
2010-09-04 21:46                   ` Andreas Gruenbacher
2010-09-04 22:01                     ` Russell King - ARM Linux
2010-09-04 22:26                       ` Andreas Gruenbacher
2010-09-03 19:34           ` Matthieu Moy
2010-09-03 22:58         ` Andreas Gruenbacher [this message]
2010-09-03 23:32           ` [bug-patch] " Jonathan Nieder
2010-09-04 21:57             ` Andreas Gruenbacher
2010-09-04  3:21           ` Jean-Christophe PLAGNIOL-VILLARD

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201009040058.18028.agruen@suse.de \
    --to=agruen@suse.de \
    --cc=bug-patch@gnu.org \
    --cc=git@vger.kernel.org \
    --cc=jrnieder@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=magnus.damm@gmail.com \
    --cc=plagnioj@jcrosoft.com \
    --cc=u.kleine-koenig@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).