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.