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

Re: Problem with git-apply?

From
Junio C Hamano <junkio@cox.net>
Date
Nov 4, 2006, 10:00 UTC
Message-ID
<7v4ptf4jmj.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<7v8xir4k3w.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano <junkio@cox.net> writes:
Show 21 quoted lines
> Kevin Shanahan <kmshanah@disenchant.net> writes:
>
>> #!/bin/sh
>>
>> mkdir a b repo
>> echo foo > b/foo
>> diff -urN a b > test.diff
>
> It is *very* surprising that this issue did not come up earlier,
> given that we used to use GNU diff internally to generate our
> own diff.
>
> If you cat the test.diff file, you will see "a/foo" and "b/foo",
> not "/dev/null".
>
> The problem appears that GNU diff _never_ uses "--- /dev/null"
> or "+++ /dev/null" to indicate creation or deletion of the file,
> but the "traditional patch parser" builtin-apply has assumed
> that is what the traditional diff output from day one.  Where we
> got that idea is mystery to me (this is Linus's code), but I
> suspect it is what other SCMs did.

*BLUSH* A prime example of "you should not speak before thinking".

Please forget everything I said. The patch parsing is just fine with or without "/dev/null". This must be a recent breakage around write_out_one_result(). Will take a look.

Previous: Junio C HamanoNext: Junio C Hamano
Message 7 of 11 in “Problem with git-apply?”
  1. Kevin ShanahanNov 4, 2006
  2. Shawn PearceNov 4, 2006
  3. Kevin ShanahanNov 4, 2006
  4. Jakub NarebskiNov 4, 2006
  5. Kevin ShanahanNov 4, 2006
  6. Junio C HamanoNov 4, 2006
  7. Junio C HamanoNov 4, 2006
  8. Junio C HamanoNov 4, 2006
  9. Kevin ShanahanNov 4, 2006
  10. Linus TorvaldsNov 4, 2006
  11. Junio C HamanoNov 4, 2006

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.