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

Bruce Hoult via llvm-dev
2016-07-27T20:15:25Z

Sorry, I thought you were talking about people who worked on optimisers in
llvm and nothing else.

Sure, I agree with libc++, compiler-rt, libunwind being separate (and
included in the "mono-rep" as submodules).

Logically they are completely different projects that llvm or clang just
happen to use on some platforms, much like zlib. And they are used by
projects that don't use llvm or clang at all. it's just a historical
accident that llvm people needed them and they didn't exist in suitable
form (functionality/license), so they created them.


On Thu, Jul 28, 2016 at 8:02 AM, Chris Bieneman <beanz at apple.com>
wrote:

>
> 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> 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 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
>
> --
> This message has been scanned for viruses and
> dangerous content by *MailScanner* <http://www.mailscanner.info/>,
and is
> believed to be clean.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20160728/0024632b/attachment.html>