Re: cherry-pick very slow on big repository
- Date: Fri, 10 Nov 2017 09:37:59 -0800
- From: Elijah Newren <newren@xxxxxxxxx>
- Subject: Re: cherry-pick very slow on big repository
Interesting timing. I have some performance patches specifically
developed because rename detection during merges made a small
cherry-pick in a large repo rather slow...in my case, I dropped the
time for the cherry pick by a factor of about 30 (no guarantees you'll
see the same; it's very history-specific). I was just about to start
sending my three series of patches, the performance one being the
On Fri, Nov 10, 2017 at 6:05 AM, Peter Krefting <peter@xxxxxxxxxxxxxxxx> wrote:
> Derrick Stolee:
>> Git is spending time detecting renames, which implies you probably renamed
>> a folder or added and deleted a large number of files. This rename detection
>> is quadratic (# adds times # deletes).
> Yes, a couple of directories with a lot of template files have been renamed
> (and some removed, some added) between the current development branch and
> this old maintenance branch. I get the "Performing inexact rename detection"
> a lot when merging changes in the other direction.
> However, none of them applies to these particular commits, which only
> touches files that are in the exact same location on both branches.
>> You can remove this rename detection by running your cherry-pick with `git
>> -c diff.renameLimit=1 cherry-pick ...`
> That didn't work, actually it failed to finish with this setting in effect,
> it hangs in such a way that I can't stop it with Ctrl+C (neither when
> running from the command line, nor when running inside gdb). It didn't
> finish in the 20 minutes I gave it.
> I also tried with diff.renames=false, which also seemed to fail.
> \\// Peter - http://www.softwolves.pp.se/