[LLVMdev] git

Chris Lattner clattner at apple.com
Fri Jul 22 16:45:20 PDT 2011

On Jul 22, 2011, at 3:45 PM, Bob Wilson wrote:

> On Jul 22, 2011, at 3:33 PM, fly language wrote:
>> After git, mainline will still be the most important branch for the *project*,
>> but you will work with quite a few branches on parallel.
>> Who's mainline? :) Be prepared to assign a super-merger, like Linus, to maintain the "mainline".
>> The git workflow works really really great, but it does require getting rid of mainline thinking. It doesn't exist.
> I strongly disagree with this.  Having a mainline, whether enforced by the VCS or not, is crucial to our incremental development philosophy.  For example, we need small, incremental patches going into one mainline branch in order for our buildbots to usefully identify regressions.  We also bisect performance regressions quite a lot, but if someone goes off and does a bunch of development on a branch and then lands it in mainline all at once, we'll be completely unable to pinpoint the source of any regressions from that branch.

Bob is spot on here.  The part I agree with in concept is:

"I agree that changing from SVN to GIT could be beneficial".

I specifically *do not* think that we should fundamentally change our development methodology.  Mainline should exist, it should be where code reviews happen, and the existing policies around it should continue to exist.  Release branches should be made from it every ~6 months, etc.

I really do appreciate distributed VCS, but only as staging.  Incremental development is crucial for the project and "take this git push with 100K of code" will never be acceptable.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110722/de5db7d5/attachment.html>

More information about the llvm-dev mailing list