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.diffIt 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.