On Thu, 21 Jun 2012 10:51:03 -0700, Dmitry Olshansky <[email protected]> wrote:

On 21-Jun-12 11:40, bearophile wrote:
For DMD in GitHub there are more than one hundred open pull requests
(currently 111). So far people have created more than one thousand
patches for DMD (currently 1022):

https://github.com/D-Programming-Language/dmd/pulls

Among the list of open pull requests there are some bugs and enhancement
requests that I'd really like to see applied & fixed in not too much time.

I am not a compiler writer, but I have two suggestions for Walter (or at
least to open a discussion, if the things I am saying are wrong):

Instead of pushing Walter to work some other way to improve his bandwidth I'd suggest to implement proper caching first.

What I suggest is to finally organize multi-stage development process that loosely models military command chain :)

OK. Walter is the general at HQ (@ dlang master branch) no doubt. And some of core contributors are assigned as lieutenants for feature oriented branches.

The structure I imagine is:

Walter (master branch)
   |--- CTFE feature branch, Don Clugston
   |--- Backend bugfix & feature branch, Brad Roberts
   |--- Language bugfix & feature, Kenji Hara / Daniel Murphy
   |--- Miscellaneous & ICE bugs, Martin Nowak

(we can start with a few less or more of these)

*Keep in mind these assignments are purely my speculation. And sure thing it doesn't prevent anybody from working on "someone else" feature branch. All these assignments mean is responsibility for pulling stuff and forming separate (or on the contrary - cumulative) pulls on them for HQ. Also allows them to polish and refactor things on the way up.

Then the model works as follows:

HQ repo gets pull requests prepared by lieutenants *only* thus *insuring* it's not some "for the **ck of it pull request" and lifting ton of work for reviewing it.

Pulls for features are targeted at specific repo thus *insuring* there is at least one "major" guy how it supposed to work in this field (and in the know of proper DMD's conventions). All dirty hack pulls get stopped/re-written somewhere here.

Also all of lieutenants repos should be kept rebased on top of master (HQ) at all times. Thus Walter may even choose to cherry pick some commits skipping the usual pull request process.


I like this. It neatly solves a whole lot of issues. Also, this is precisely how Linus INTENDED Git to be used.

--
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/

Reply via email to