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

Re: Intensive rename detection

From
Andrew Arnott <andrewarnott@gmail.com>
Date
Nov 4, 2008, 05:19 UTC
Message-ID
<216e54900811032119h4cb51327v2d85712acc444185@mail.gmail.com>
In-Reply-To
<216e54900811032107p159e98ecn8958f0a78efde8f2@mail.gmail.com>

Awesome. Per Linus' tip, I just noticed at the top of a long list of messages git said: warning: too many files, skipping inexact rename detection

So I added the config file change, and that did the trick.  Thanks, everyone!

Here's a related but slightly different question: I've been stashing and unstashing in the midst of all these renames and refactoring, and now I'm left with some files listed in git status 3 times. I understand why this is, but I don't know the best way to proceed. Git is telling me:

$ git status | grep MessageBase src/DotNetOAuth/Messages/MessageBase.cs: needs merge src/DotNetOAuth/OAuth/Messages/MessageBase.cs: needs merge src/DotNetOpenAuth/Messages/MessageBase.cs: needs merge # unmerged: src/DotNetOAuth/Messages/MessageBase.cs # unmerged: src/DotNetOAuth/OAuth/Messages/MessageBase.cs # unmerged: src/DotNetOpenAuth/Messages/MessageBase.cs

I want to end up with MessageBase.cs in src/DotNetOpenAuth/OAuth/Messages/MessageBase.cs, which ironically is none of these three. And the couple of lines that changed in the file need to be merged. Only two of these listed files exist on disk. How can I best leverage git to merge the two files on disk while moving it to a new location?

Show 26 quoted lines
> On Mon, Nov 3, 2008 at 8:22 PM, Linus Torvalds <torvalds@linux-foundation.org> wrote:
>>
>>
>> On Mon, 3 Nov 2008, Andrew Arnott wrote:
>> >
>> > I'm refactoring a library including renaming both files and
>> > directories.  A few lines of each file are also changed, but they are
>> > substantially unchanged in content.  I've done a git add to put all my
>> > changes into the index, but a git status shows that git only detected
>> > a few of the renames... most of them are delete-add operations.  Is
>> > there anything I can do to help git recognize the rename so that
>> > history is preserved across this commit?
>>
>> How many renames do you have? Modern versions of git will do any number of
>> exact renames, but the (rather expensive) inexact rename detection has a
>> default limit of something fairly small.
>>
>> You could try adding
>>
>>        [diff]
>>                renamelimit=0
>>
>> to your ~/.gitconfig file. It can be quite expensive though.
>>
>>                        Linus
>
Previous: Jeff KingNext: Andrew Arnott
Message 6 of 11 in “Re: Intensive rename detection”
  1. Andrew ArnottNov 4, 2008
  2. Junio C HamanoNov 4, 2008
  3. Linus TorvaldsNov 4, 2008
  4. Linus TorvaldsNov 4, 2008
  5. Jeff KingNov 4, 2008
  6. Andrew ArnottNov 4, 2008
  7. Andrew ArnottNov 4, 2008
  8. Jeff KingNov 4, 2008
  9. Andrew ArnottNov 4, 2008
  10. Björn SteinbrinkNov 4, 2008
  11. Jeff KingNov 5, 2008

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.