Re: Problem with git-apply?
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- Nov 4, 2006, 16:27 UTC
- Message-ID
- <Pine.LNX.4.64.0611040821290.25218@g5.osdl.org>
- In-Reply-To
- <7v8xir4k3w.fsf@assigned-by-dhcp.cox.net>
On Sat, 4 Nov 2006, Junio C Hamano wrote:
Show 6 quoted lines
> > 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.
No, the original code used to trigger a "create" diff on - source was /dev/null OR - source had zero patches.
It used to have code like
if (patch->is_new < 0) {
patch->is_new = !oldlines;
if (!oldlines)
patch->old_name = NULL;
}
if (patch->is_delete < 0) {
patch->is_delete = !newlines;
if (!newlines)
patch->new_name = NULL;
}and I think the person who broke it was you ;)
According to git-pickaxe, the buggy commit is 4be60962.
You should know by now that I never have bugs.