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

Re: Joining historical repository using grafts or replace

From
Christian Couder <christian.couder@gmail.com>
Date
Nov 1, 2014, 15:03 UTC
Message-ID
<CAP8UFD17DOajgFWTTDC12qz3m4wKJTn2XLn+MWUE8Fc_XyTBTQ@mail.gmail.com>
In-Reply-To
<CA+POfmt9cQcKshc3LgGpBqHdbsgjoN7Ou7eN3sGqJcDeXwgPyA@mail.gmail.com>
Hi Dmitry,
On Fri, Oct 31, 2014 at 4:47 PM, Dmitry Oksenchuk <oksenchuk89@gmail.com> wrote:
Show 26 quoted lines
> Hi Christian,
>
>> On Thu, Oct 30, 2014 at 6:41 PM, Dmitry Oksenchuk <oksenchuk89@gmail.com> wrote:
>>>
>>> Yes, because of such amount of refs, push in "historical" repository
>>> takes 12 sec, push in "working" repository takes 0.4 sec, push in
>>> "joined" repository takes 2 sec. Local operations with history like
>>> log and blame work with the same speed in "joined" repository as in
>>> "historical" repository.
>>
>> What does "joined" mean? Does it mean joined using grafts? Or joined
>> using replace refs? Or just the unsplit full repository?
>
> It's joined using grafts or replace. In both cases performance is the same.
>
>> Also what is interesting is if local operations work with the same
>> speed in the small "working" repository as in the unsplit full
>> repository.
>
> Speed of operations like git diff, git add, git commit is exactly the
> same in both repositories.
> Operations like git log and git blame work much faster in repository
> without history (not surprisingly :)
> For example, git log in small repository takes 0.2 sec, in full
> repository - 0.8 sec. git blame in full repository can take up to 9
> sec for large files with long history.

Ok, thanks for the information. I think it shows that indeed it makes sense to split your repo.

Best, Christian.

Previous: Dmitry Oksenchuk
Message 8 of 8 in “Joining historical repository using grafts or replace”
  1. Dmitry OksenchukOct 30, 2014
  2. W. Trevor KingOct 30, 2014
  3. Dmitry OksenchukOct 30, 2014
  4. Christian CouderOct 30, 2014
  5. Dmitry OksenchukOct 30, 2014
  6. Christian CouderOct 31, 2014
  7. Dmitry OksenchukOct 31, 2014
  8. Christian CouderNov 1, 2014

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.