Thread (1 message) 1 message, 1 author, 2016-08-11

Re: Problem with git-apply?

From: Junio C Hamano <hidden>
Date: 2016-08-11 19:35:52

Junio C Hamano [off-list ref] writes:
Kevin Shanahan [off-list ref] writes:
quoted
#!/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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help