git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [bug-patch] [BUG?] rename patch accepted with --dry-run, rejected without (Re: [PATCH V3] arm & sh: factorised duplicated clkdev.c)

From
AGAndreas Gruenbacher <agruen@suse.de>
Date
Sep 4, 2010, 21:57 UTC
Message-ID
<201009042357.34237.agruen@suse.de>
In-Reply-To
<20100903233252.GD30310@burratino>
On Saturday 04 September 2010 01:32:52 Jonathan Nieder wrote:
Show 38 quoted lines
> Andreas Gruenbacher wrote:
> 
> > 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):
> 
> From the git v1.6.0-rc0~92 changelog entry:
> 
>     apply: fix copy/rename breakage
>     
>     7ebd52a (Merge branch 'dz/apply-again', 2008-07-01) taught "git-apply" to
>     grok a (non-git) patch that is a concatenation of separate patches that
>     touch the same file number of times, by recording the postimage of patch
>     application of previous round and using it as the preimage for later
>     rounds.
>     
>     This "incremental" mode of patch application fundamentally contradicts
>     with the way git rename/copy patches are designed.  When a git patch talks
>     about a file A getting modified, and a new file B created out of A, like
>     this:
>     
>         diff --git a/A b/A
>         --- a/A
>         +++ b/A
>         ... change text here ...
>         diff --git a/A b/B
>         copy from A
>         copy to B
>         --- a/A
>         +++ b/B
>         ... change text here ...
>     
>     the second change to produce B does not depend on what is done to A with
>     the first change in any way.  This is explicitly done so for reviewability
>     of individual patches.
>     
>     With this commit, we do not look at 'fn_table' that records the postimage
>     of previous round when applying a patch to produce a new file out of an
>     existing file.

Ouch ... this gets really messy when a user concatenates git style patches and they are not applied to exactly the same source tree.

Thanks for digging out this commit message!
Andreas
Previous: Jonathan NiederNext: Jean-Christophe PLAGNIOL-VILLARD
Message 15 of 16 in “Re: [PATCH V3] arm & sh: factorised duplicated clkdev.c”
  1. Uwe Kleine-KönigSep 3, 2010
  2. [BUG?] rename patch accepted with --dry-run, rejected without (Re: [PATCH V3] arm & sh: factorised duplicated clkdev.c)Jonathan Nieder, Sep 3, 2010
  3. Russell King - ARM LinuxSep 3, 2010
  4. Uwe Kleine-KönigSep 3, 2010
  5. Andreas SchwabSep 3, 2010
  6. Russell King - ARM LinuxSep 4, 2010
  7. Andreas GruenbacherSep 4, 2010
  8. Russell King - ARM LinuxSep 4, 2010
  9. Andreas GruenbacherSep 4, 2010
  10. Russell King - ARM LinuxSep 4, 2010
  11. Andreas GruenbacherSep 4, 2010
  12. Matthieu MoySep 3, 2010
  13. Andreas GruenbacherSep 3, 2010
  14. Jonathan NiederSep 3, 2010
  15. Andreas GruenbacherSep 4, 2010
  16. Jean-Christophe PLAGNIOL-VILLARDSep 4, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.