Subject: Re: Git is not scalable with too many refs/*

From: A Large Angry SCM <[email-masked]>
Date: Thu, 09 Jun 2011 11:52:18 -0400

On 06/09/2011 11:23 AM, Shawn Pearce wrote:
> On Wed, Jun 8, 2011 at 23:50, Sverre Rabbelier<[email-masked]>  wrote:
>> [+shawn, who runs into something similar with Gerrit]
>
>> On Thu, Jun 9, 2011 at 05:44, NAKAMURA Takumi<[email-masked]>  wrote:
>>> Hello, Git. It is my 1st post here.
>>>
>>> I have tried tagging each commit as "refs/tags/rXXXXXX" on git-svn
>>> repo locally. (over 100k refs/tags.)
>
> As Jakub pointed out, use git notes for this. They were designed to
> scale to>100,000 annotations.
>
>>> Indeed, it made something extremely slower, even with packed-refs and
>>> pack objects.
>
> Having a reference to every commit in the repository is horrifically
> slow. We run into this with Gerrit Code Review and I need to find
> another solution. Git just wasn't meant to process repositories like
> this.

Assuming a very large number of refs, what is it that makes git so 
horrifically slow? Is there a design or implementation lesson here?