Re: Git is not scalable with too many refs/*
- From
A Large Angry SCM <gitzilla@gmail.com>
- Date
- Jun 9, 2011, 15:52 UTC
- Message-ID
- <4DF0EC32.40001@gmail.com>
- In-Reply-To
- <BANLkTi=PnYmJVXe8tuqdb9UiYnethf1GSw@mail.gmail.com>
On 06/09/2011 11:23 AM, Shawn Pearce wrote:
Show 19 quoted lines
> On Wed, Jun 8, 2011 at 23:50, Sverre Rabbelier<srabbelier@gmail.com> wrote: >> [+shawn, who runs into something similar with Gerrit] > >> On Thu, Jun 9, 2011 at 05:44, NAKAMURA Takumi<geek4civic@gmail.com> 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?