Re: git diff infinite loop at attempt to diff two specific commits
- From
- Matt Pearson <404emailnotfound@gmail.com>
- Date
- Jul 5, 2009, 18:22 UTC
- Message-ID
- <706b4240907051122s784e97abkde5628189956ceb0@mail.gmail.com>
- In-Reply-To
- <20090705181208.GA8629@atjola.homenet>
2009/7/5 Björn Steinbrink <B.Steinbrink@gmx.de>:
Show 18 quoted lines
> On 2009.07.05 19:37:44 +0200, Alexander Toresson wrote: >> Hello, >> >> I've got problems with git diff, it hangs in an infinite loop when >> attempting to generate a diff between two specific commits. Commands >> to reproduce: >> >> git clone git://eulex.zapto.org/nightfall.git >> cd nightfall >> git diff --stat 597711..61a139 >> >> (Note that the clone needs to fetch 16mb) >> >> I'm running git 1.6.3.3. > > FWIW, it "hangs" on the save.xml file. The old version is 1.2M, the new > one is 9M. Using the patience diff algorithm to compare them takes about > 5 seconds here, while the default algorithm took 6m15s.
I can confirm this for the 1.6.0.4 shipped with Ubuntu Jaunty (so this would seem to not be a recent change). Actually, it may be worse: mine is still running after 8 minutes, and this machine is almost brand-new. Normal diff -u on the two versions of the file finishes in under a second.
On an unrelated note, it's usually a bad idea to have files like configure and *.suo in the repo (and possibly this save.xml as well).