# 'dotest' fails, patch(1) succeeds

2 messages from 2005-06-23 to 2005-06-23. Participants: Jeff Garzik, Linus Torvalds.
Thread: https://gitlist.dev/t/1011

## Jeff Garzik, 2005-06-23 07:37

Subject: 'dotest' fails, patch(1) succeeds
Message-ID: <42BA66C1.30400@pobox.com>
URL: https://gitlist.dev/e/42BA66C1.30400%40pobox.com

```

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




```

## Linus Torvalds, 2005-06-23 16:22

Subject: Re: 'dotest' fails, patch(1) succeeds
Message-ID: <Pine.LNX.4.58.0506230915330.11175@ppc970.osdl.org>
URL: https://gitlist.dev/e/Pine.LNX.4.58.0506230915330.11175%40ppc970.osdl.org
In-Reply-To: <42BA66C1.30400@pobox.com>

```


On Thu, 23 Jun 2005, Jeff Garzik wrote:
> 
> 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

```
