[llvm-dev] New LLVM git repository conversion prototype

Jeremy Lakeman via llvm-dev llvm-dev at lists.llvm.org
Thu Oct 18 00:58:44 PDT 2018


On 18 October 2018 at 17:52, Duncan P. N. Exon Smith via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

>
> (Side note: growing .git/objects from 616M to 960M seemed unexpectedly
> high to me given that ~300M should only have included commit objects (since
> the tree objects should be shared).  Fortunately, repacking gives better
> results:
> ```
> $ git repack -ad
> Counting objects: 3503266, done.
> Delta compression using up to 8 threads.
> Compressing objects: 100% (699515/699515), done.
> Writing objects: 100% (3503266/3503266), done.
> Total 3503266 (delta 2744501), reused 3501658 (delta 2743526)
> $ du -hs .git/objects
> 678M .git/objects
> ```
> Vendors that want to merge a downstream vendor branch with the new
> monorepo can just repack after the initial merges.)
>
>
`git fetch` (well, fetch-pack / upload-pack) works out which objects to
include based on finding commits both endpoints know about.
But in this case the commits are all different, even though the trees
should be identical.

If you wanted to reduce pack size and transfer bandwidth for users making
the switch, you could build a temporary repository that had both sets of
histories.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181018/cb92905b/attachment.html>


More information about the llvm-dev mailing list