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
ATAlexander Toresson <alexander.toresson@gmail.com>
Date
Jul 5, 2009, 20:09 UTC
Message-ID
<b33ba6660907051309y55bd5472oc665118a1851ddce@mail.gmail.com>
In-Reply-To
<706b4240907051122s784e97abkde5628189956ceb0@mail.gmail.com>
2009/7/5 Matt Pearson <404emailnotfound@gmail.com>:
Show 29 quoted lines
> 2009/7/5 Björn Steinbrink <B.Steinbrink@gmx.de>:
>> 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).
>

Ah! I shouldn't really have had that file in version control, I can understand that it would be slow to diff a 9mb xml file. On the other hand, is there a way to mark the file so git won't attempt to diff it, but will just dispose of the old contents and use the new contents?

As for the configure file, it's convenient for users to not have to have autoconf installed to build it. I don't really know what *.suo does nor do I think I added it, so I'll check up on that.

Thank you.
// Alexander
Previous: Matt PearsonNext: Matt Pearson
Message 4 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.