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

Renato Golin via llvm-dev llvm-dev at lists.llvm.org
Wed Jul 20 23:03:48 PDT 2016

On 21 July 2016 at 03:06, Daniel Berlin <dberlin at dberlin.org> wrote:
> So, if you want to raise the concerns of others, you really need to be a bit
> more detailed about who and what.
> Otherwise it honestly just comes off as "vague objection".


A bit of history.... as precise as I can muster.

1. Git's been on the back of our heads for a long time
2. Some event (can't remember) triggered a discussion on IRC where
some core devs were mostly in agreement
3. I decided to take on, folks were happy, I sent a huge email with
*ALL* options. Local hosting, external hosting (all), Git, Mercurial,
SVN, monolithic, or not, etc.
4. There were hundreds of emails, in many cycles, and in each step, I
took a step back, wrote everything that was being said (not what I
wanted), and waited for disagreement.

During this process, I also proposed "voting". Tanya, very helpfully,
said it would be better to have a survey, so we don't take hard
decisions based on simple counts. Chandler, also very helpfully said
we needed a concrete implementation example in which to base our
decisions. People seemed generally in favour to gauge the opinions
more generally, so having "A" proposal was better than having general

For me, personally, any monolithic Git repository would do. But there
was a lot of feedback on it not being monolitic, and then on it having
sub-modules, so I was echoing the larger voice, not my own.

And the idea, at least as "I" interpreted it, was to have "some"
concrete example, and a wide survey.

No one said that:
 * the result of the survey would dictate the move
 * I would get to choose it alone (s/I/anyone/)
 * there weren't better models

I specifically stated that, this was one of the models, which I was
trying to push through the survey in the interest of getting a feeling
for how people like it *really*.

I specifically said there could be other proposals, other surveys.

> Even a minimum of "if you look at what X said about Y in the thread", or
> something, would go a long way here.
> Otherwise you are basically saying "hey, i think i heard, in the past 300
> emails, X".  That's not really something that one can respond to reasonably.

Over simplifying it is a bit offensive.

Taking one of my points in separate as if it means my whole argument,
each time, *is* over simplifying it.

> FWIW: I actually think the LLVM community ratholes on a lot of things, *way
> too much*. Not sure we are quite at that point yet on this.

Having a precise proposal and survey is one way many people proposed
to get out of the rat hole. People are generally more conscious in
surveys than replying to email threads, and any personal attack they
send is restricted to the idea (or becomes childish), which is really
what we want. Mailing lists are too prone to trolling to be an
effective consensus reaching place. We've seen our share.

So, a cyclic model with a proposal and a survey seem like a good thing
to do. GitHub+modules is not *my* proposal, but *our* first proposal.
That's why I added it to a "Proposals" directory in the docs, and why
I wasn't worrying too much if people liked it on the review. It is one
reflection of one discussion from one angle.

>> GCC has had a *huge* flying monster in the last decade because they
>> weren't modular enough and that has been the big difference of LLVM,
>> and why it gained traction on impossible partners, like Emacs.
> Errr, i'm not sure this is really the reason, but let's ignore that :)

Again, taking one point as if I meant *everything*, and over simplifying.

There was certainly a tone to GCC's predicament that was not being
modular enough (being used as a library, extending its AST to Emacs,
having external projects use it in some form), but I have made no
assertion as to what *it* is, or how important *it* is in the whole
scheme of things. You should make no assumption as to my intentions
other than a simple statement.

> I think you may need to move a *little* slower, FWIW. On one hand you are
> saying "there are 300+ emails", but you expect consensus in a week?
> That seems .. a bit much :)
> What if someone was on vacation last week?

The threads lasted for 1 1/2 months, after "soft" discussions for years.

I didn't expect consensus "on the whole problem" in a week, just
consensus on the first proposal, GitHub+modules, which seemed had
already been reached weeks before.

> So like I said, if you are going to seek consensus and drive it by voicing
> the concerns of others, that's great. I applaud it. But when doing it, you
> may want to make clear that is what you are doing, and who said what, so
> that the right people can be cc'd with the right responses, etc

You have no idea how many times I read the same emails over and over
to make sure I cite the right person. That's why I have consistently
re-written a summary of every thread, with proper quotes and

But as you said, we tend to not get out of rat holes, and there is so
much I can cope with to go back reading the same emails.

A lot of what happened is that a number of people (and I'm being
purposely vague) are opposed to it, and are raising the same concerns
over and over, even though there were arguments to refute what they
are saying.

How many times more do I need to go back, read the emails again and
quote what people said, so that people can feel comfortable? Is that
really the best use of *our* time? Keeping ourselves in rat holes?

I personally think not. And why I wanted to get at least one proposal
out and see what people thought of it.

This may be entirely the wrong approach, and I accept your arguments,
and that's why I wrote "be my guest". It wasn't out of spite, but I'm
really saying, "please do it".

However, I'd really like if people would stop the personal attacks.
Reiterating, this is not *my* proposal.

So, from now on...

* I've made my part and got "consensus" for one proposal. It is what it is.
* Justin is forming consensus on the monolithic version. This is a
*different* proposal, so it needs to take into account hosting service
and everything else we did in the first.
* Please add a similar document to "docs/Proposals" at the end.
* Repeat.

I'll refrain from driving any other proposal in the interest of mental
sanity (and personal time), not because I support the GitHub+modules

When everyone is happy that we have enough proposals, Tanya's survey
should be brought forward, in which case I'll gladly offer my help

I hope this is clear enough and people will stop second guessing me.


More information about the llvm-dev mailing list