[LLVMdev] git

David A. Greene greened at obbligato.org
Thu Jul 28 14:04:16 PDT 2011

Chris Lattner <clattner at apple.com> writes:

> On Jul 22, 2011, at 10:55 PM, David A. Greene wrote:
>>> What are the precise gains from changing the status quo? What can you
>>> do by moving everything to Git that you couldn't do in the current
>>> world with svn as master repository and the additional git mirror?
>> I work on a third-party branch.  I can sync with upstream and push our
>> changes back to upstream nearly trivially with git.  With svn it is
>> unpleasent, to say the least.
>> The centralized model is in many ways completely wrong for a codebase
>> like LLVM which is explicitly expected to be forked and enhanced in
>> proprietary ways.  By definition there will be many copies of the
>> repository.  A DVCS allows everyone to keep those copies in sync.
>> To me this is the killer feature of any DVCS.
> This is great, sounds like a handy feature, but I really don't care.

That's nice.

> We are not fundamentally changing the development policy around LLVM.

Nothing I wrote above implies a change in development policy.  My point
was that git greatly aids the kind of development done with LLVM.

> This policy centers around small and incremental changes that are
> reviewed.  It includes the fact that trusted people have direct commit
> access to mainline.  In includes the fact that we have releases
> branched from mainline, and process around that.

None of that need change with git.

> I am completely uninterested in the linux kernel model, which assumes
> that everyone is trying to break things and which requires
> hierarchical pulling of trees.

I don't think anyone has suggested going there.  I certainly haven't.
It would be completely wrong for LLVM, IMHO.

> Let me say this again: We are not fundamentally changing the
> development policy around LLVM.  If git doesn't offer advantages over
> SVN for our current workflow, then we should not switch to it.

It adds a lot of advantages with the current workflow.  I'm all for
keeping the current workflow and switching to git.  It would simplify a
lot of things for many people.


More information about the llvm-dev mailing list