# Re: Problem with git-apply?

- List: git
- 1 message, 1 author
- Page: https://ratatoskr.run/git/2016/08/7688986/t

## Re: Problem with git-apply?

- From: Junio C Hamano \<hidden\>
- Date: 2016-08-11 19:35:52 
- Message: https://ratatoskr.run/git/2016/08/7688986.md

```text
Junio C Hamano [ref] writes:

> Kevin Shanahan [ref] 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.
```
