[llvm-dev] [RFC] One or many git repositories?

Chris Bieneman via llvm-dev
2016-07-27T20:02:21Z

> On Jul 27, 2016, at 11:03 AM, Bruce Hoult <bruce at hoult.org> wrote:
>
> On Thu, Jul 28, 2016 at 4:47 AM, Chris Bieneman via llvm-dev <llvm-dev
at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
> Beyond all that I want to point out that the git multi-repository story is
basically the same thing we have today with SVN except for the absence of a
monotonically increasing number that corresponds across repositories. While
admittedly you do get a linear history with using the mono-repository, that
isn’t the only way to solve the problem, and I don’t really think that the
benefit (not needing to write some tooling) justifies the increased burden
applied to contributors that don’t use the full LLVM family of projects.
>
> What do you believe is this increased burden?
>
> The entire commit history of all llvm projects in a mono-repository is a
449 MB .git directory. It can be downloaded in about two minutes on a typical
domestic internet connection (50 Mbps).
>
> If you download only a snapshot of the current HEAD commit then the .git
repository is 88 MB and takes under a minute. Any other individual commit should
be similar.
>
> This doesn't seem like a big burden to me.
>
> The checked out llvm source directory -- which you say is all that many
people want -- is 202 MB. That's without even building it.
>
> Why is this burden unacceptable? It seems rather small to me.

It is a small burden to LLVM contributors to include everything because LLVM is
large. Compiler-RT’s entire git repository is under 18MB, LibCXX is around 20MB,
LibCXXABI is under 3MB. Those projects are frequently used without LLVM and do
not have tight coupling. Forcing developers on those projects to be bound to
LLVM is, IMO, a huge burden.

>
> For comparison, using svn to checkout llvm using ...
>
> svn co http://llvm.org/svn/llvm-project/llvm/trunk
<http://llvm.org/svn/llvm-project/llvm/trunk> llvm
>
> ... took me 1 minute 28 seconds and gives a 222 MB .svn directory, 428 MB
total (so 206 MB for the source files checked out).
>

I am not advocating that we stay on SVN. I use Git-SVN today. My entire reason
for commenting on this thread is to point out problems I see with this proposal
as compared to the submodule proposal that Renato graciously assembled from lots
of community feedback.

-Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20160727/38592172/attachment-0001.html>