'dotest' fails, patch(1) succeeds
Trying to use git-tools' "dotest" script to merge an mbox into a kernel git repo failed, but patch(1) was OK with it:
[jgarzik@pretzel netdev-2.6]$ dotest /g/tmp/mbox
Applying 'e1000: fix spinlock bug'
fatal: corrupt patch at line 10 [jgarzik@pretzel netdev-2.6]$ patch -sp1 < /g/tmp/mbox [jgarzik@pretzel netdev-2.6]$
Ideas? Full data needed to reproduce is attached. .git/HEAD is a4936044001694f033fe4ea94d6034d51a6b465c.
Jeff
Quoted 9 lines · Jeff Garzik
Trying to use git-tools' "dotest" script to merge an mbox into a kernel git repo failed, but patch(1) was OK with it:
[jgarzik@pretzel netdev-2.6]$ dotest /g/tmp/mbox
Applying 'e1000: fix spinlock bug'
fatal: corrupt patch at line 10
You have a corrupt patch, and "git-apply" not only tells you so, it tells you _exactly_ where it is:
In particular, it has whitespace damage at line 10:
1 --- linux-2.6.12-clean/drivers/net/e1000/e1000_main.c 2005-06-17 12:48:29.000000000 -0700
2 +++ linux-2.6.12/drivers/net/e1000/e1000_main.c 2005-06-21 10:42:29.000000000 -0700
3 @@ -2307,6 +2307,7 @@ e1000_xmit_frame(struct sk_buff *skb, st
4 tso = e1000_tso(adapter, skb);
5 if (tso < 0) {
6 dev_kfree_skb_any(skb); 7 + spin_unlock_irqrestore(&adapter->tx_lock, flags);
8 return NETDEV_TX_OK;
9 }
10
And take a close look. That line should have _one_ space on it (the space that says "neither new nor old"), and it's totally empty (well, now in my email it has "10 " on it, of course ;)
Btw, you have another problem: you should add a "---" marker to before the patch header, otherwise your commit message will have the "diff -urpN" thing in it. To the "dotest" scripts, "---" is the thing that says "here ends the message and the patch begins".
(The line numbers from "git-apply" will also start at that --- point, so if you add a "---" just above the "diff" line, you'd get "line 12" being the corrupt one)
Linus