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

Re: Problem with git-apply?

From
Linus Torvalds <torvalds@osdl.org>
Date
Nov 4, 2006, 16:27 UTC
Message-ID
<Pine.LNX.4.64.0611040821290.25218@g5.osdl.org>
In-Reply-To
<7v8xir4k3w.fsf@assigned-by-dhcp.cox.net>
On Sat, 4 Nov 2006, Junio C Hamano wrote:
Show 6 quoted lines
> 
> 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.
No, the original code used to trigger a "create" diff on
 - source was /dev/null
OR
 - source had zero patches.
It used to have code like
        if (patch->is_new < 0) {
                patch->is_new =  !oldlines;
                if (!oldlines)
                        patch->old_name = NULL;
        }
        if (patch->is_delete < 0) {
                patch->is_delete = !newlines;
                if (!newlines)
                        patch->new_name = NULL;
        }
and I think the person who broke it was you ;)
According to git-pickaxe, the buggy commit is 4be60962.
You should know by now that I never have bugs. 
Previous: Kevin ShanahanNext: Junio C Hamano
Message 10 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.