From: Matt Pearson <404emailnotfound@gmail.com> Date: Sun, 05 Jul 2009 18:22:00 GMT Subject: Re: git diff infinite loop at attempt to diff two specific commits Message-ID: <706b4240907051122s784e97abkde5628189956ceb0@mail.gmail.com> In-Reply-To: <20090705181208.GA8629@atjola.homenet> 2009/7/5 Björn Steinbrink : > 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).