Junio C Hamano <junkio@xxxxxxx> writes: > Kevin Shanahan <kmshanah@xxxxxxxxxxxxxx> 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. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html