git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Andrew Arnott" <andrewarnott@gmail.com>
To: "Linus Torvalds" <torvalds@linux-foundation.org>
Cc: git@vger.kernel.org
Subject: Re: Intensive rename detection
Date: Mon, 3 Nov 2008 21:19:30 -0800	[thread overview]
Message-ID: <216e54900811032119h4cb51327v2d85712acc444185@mail.gmail.com> (raw)
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?

> 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
>

  parent reply	other threads:[~2008-11-04  5:20 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <216e54900811031717j70669868p3c7503357ceb5138@mail.gmail.com>
2008-11-04  1:18 ` Intensive rename detection Andrew Arnott
2008-11-04  1:39   ` Junio C Hamano
2008-11-04  4:22   ` Linus Torvalds
2008-11-04  4:23     ` Linus Torvalds
2008-11-04  4:31     ` Jeff King
     [not found]     ` <216e54900811032107p159e98ecn8958f0a78efde8f2@mail.gmail.com>
2008-11-04  5:19       ` Andrew Arnott [this message]
2008-11-04  6:02         ` Andrew Arnott
2008-11-04  6:16           ` Jeff King
2008-11-04  6:36             ` Andrew Arnott
2008-11-04 10:47               ` Björn Steinbrink
2008-11-05  3:22               ` Jeff King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=216e54900811032119h4cb51327v2d85712acc444185@mail.gmail.com \
    --to=andrewarnott@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).