On Thursday, 3 January 2013 at 20:42:39 UTC, Johannes Pfau wrote:
Am Thu, 03 Jan 2013 21:17:08 +0100
schrieb "Rob T" <[email protected]>:

On Thursday, 3 January 2013 at 19:19:49 UTC, Andrei Alexandrescu wrote:
> On 1/3/13 1:58 PM, Walter Bright wrote:
>> As I suggested to Jacob, if the wiki lists git command >> sequences, it >> should be complete (like a script), and not full of >> assumptions about
>> other commands that need to be inserted.
>
> I think this is a pertinent point - the process proposed at > github is incomplete and scantily motivated. Can the experts > make one more pass through it?
>
> Thanks,
>
> Andrei

I'm rather concerned when I see comments that suggest that the purpose of the staging branch was not understood in the slightest. There's a lot of discussion on the issue here http://forum.dlang.org/thread/[email protected]

Sorry, but I'm not sure if we have a consensus on some things discussed
there:
This is probably the best summary:
http://forum.dlang.org/thread/[email protected]?page=16#post-woyboqigqbkqjxmshppn:40forum.dlang.org


"4. Feature can than be further refined and _integration bugs_ can
be fixed by the general dev team."

What's the overhead for many small feature branches? DMD work is
probably 90% small bug fixes and 10% bigger features. So most of the
time there are no "integration bugs" and we just waste man power
reviewing commits again and copying those into staging?


"When the "dev" branch is considered stable enough by the team
(exact criteria to be defined later), the changes are merged to
the _2nd level of integration_ - the "staging" branch. This
allows for a wider audience to test and provide real-world
feedback."

The exact criteria would be kinda important. But as we have many small bugfixes which are merged every day I don't see how the master branch
would suddenly get more "stable".


What I am most concerned about are the timespans discussed:
"I propose to go for a yearly release of the
stable branches with one year support (In the beginning)."

The wiki discussion page even mentions "I don't think 4 months are a ridiculously long time for staging if the release is made every 3
years."

Let's clarify a bunch of things here:
1. There is no overhead with maintaining many feature brunches.
2. Feature branches can be safely removed after their contents have been merged. This is useful for avoiding clutter. 3. There is no need to re-review the _same_ code on each branch it is merged to. That's just plain stupid. 4. Chery picking is a HORRIBLE idea for managing releases and should only be used on development. Chery-picking COPIES commits and thus loses the connections in the history graph. 5. There is no problem developing bug_fixes on separate topic branches.
6. There is no problem merging back to master.
7. Let me say this again. Merges are cheap and easy in git. So are re-merges. Avoiding merges is an artifact of client-server designs such as SVN and is NOT compatible with Git's conceptual model.

I suggest to read about how git works and how best to utilize its features, and NOT apply common wisdom from CVS/SVN/RCS which are based on a _completely different_ conceptual model.

Reply via email to