git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git diff infinite loop at attempt to diff two specific commits

From
MPMatt 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).

Previous: Björn SteinbrinkNext: Alexander Toresson
Message 3 of 5 in “git diff infinite loop at attempt to diff two specific commits”
  1. Alexander ToressonJul 5, 2009
  2. Björn SteinbrinkJul 5, 2009
  3. Matt PearsonJul 5, 2009
  4. Alexander ToressonJul 5, 2009
  5. Matt PearsonJul 5, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.