Pull freeze
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Wed Aug 1 04:56:48 PDT 2012
On 8/1/12 3:44 AM, Russel Winder wrote:
> On Tue, 2012-07-31 at 11:38 -0400, Andrei Alexandrescu wrote:
> […]
>> You can't suggest a revolution - only carry it through. But I'm a bit
>> confused. We already use git, and the idea is to use it better. What's
>> the thing with subversion etc? Where's the revolution?
>
> As has been noted many time now I'm afraid, Git is currently being used
> as though it were Subversion. Subversion mind set is being applied when
> using Git commands. In changing from Subversion to Git all mindsets as
> well as processes need to be changed. The revolution started with the
> actual repository move, but sadly it was not carried through by amending
> the processes.
We will amend the processes to branch for each release.
> […]
>> Agreed. But that means we'd need to use branching and tagging better,
>> not to "revolutionize" things.
>
> Well actually there is an element of using branching and tagging at all.
> Branching and tagging in Subversion is cheap in the database and very
> expensive for clients. Worse merging still remains a problem for
> Subversion hence branching is a tool of last resort. Branching, tagging
> and merging are cheap for Git, but there needs to be a move from CVCS
> thinking to DVCS thinking on the part of those people with write
> permission to the mainline.
Well this doesn't do a lot in the way of substantiating. I do want to be
illuminated. I want to get DVCS! And my understanding is that we need to
branch whenever we plan a new release, and cherry-pick bugfixes from the
mainline, and such. Or (when we have multiple contributors) use one
branch per feature. When I ask you, you neither confirm nor deny that,
but instead go for the vague "well you need to change your mindset". I
hope you see how this is less than useful.
> […]
>> To be honest I think we've reaped a lot of low-hanging fruit so far.
>> Improving the process will bring some marginal efficiency improvements,
>> but adding more good committers and contributors would be much more
>> impactful. As far as I can tell there's not (there used to be) a hoard
>> of disgruntled contributors unable to push things forward.
>
> This paragraph appears (apologies if I have it wrong) to highlight part
> of the problem. The way you speak of committers and contributors
> indicates Subversion hangover. DVCS is about having reviewers of
> changesets, and gatekeepers who make the merges into the mainline. The D
> process has much of this already but at the core the approach to the
> mainline is CVCS not DVCS mindset.
DVCS is a lot about "D" - many people working on the project. We don't
have all that many, and it might help if I explained to you what I meant
by "pull freeze this Sunday". It appears to me that you made your
comments in neglect of the dynamics of this project.
There are only a few contributors and gatekeepers to Druntime, Phobos,
tools, and dlang.org - the repos I manage. Pardon me if I use the wrong
vocabulary, since "contributors" seems to be the wrong thing and coming
from the wrong mindset. Let's say "people who make pull requests". I'd
used them all with the mini-ceremony of making a thorough pass through
each and every pull request each Sunday afternoon.
This has had beneficial effects. People know that their pull requests
will be looked at and either commented on or merged. There is a sense of
progress and of thoroughness. At the end of the day, even if we used the
mother of all processes, I'd still need to put the same amount of time
into actually looking at the code. This (which is the bulk of the time
I'm spending on these projects) cannot be optimized through process.
Clearly if we'd used branching for release I could have done the merging
last Sunday too. Since we don't have that yet (we should), last Sunday I
left I got a babysitter, had a nice dinner with my wife, and watched
some 80% of "The Watch". My perception is that there was no major
disruption for contributors aside from missing feedback from me (which,
again, is a reviewer time issue rather than a process issue). Otherwise
they could have continued work on their branches, or create new ones.
This was the meaning of "pull freeze". I meant to tell I won't be
looking at stuff this Sunday.
>>> If there isn't a new process in place immediately 2.060 is released and
>>> master tagged, this I think this would have to be considered a "red
>>> flag". The corollary is, I guess, to delay releasing 2.060 till you have
>>> a new process as well as the release being ready to ship.
>>
>> Why do you think that would be a good decision? There's a lot of value
>> added right now and a lot of pent-up demand for the many bug fixes and
>> improvements.
>
> If the road to 2.061 starts without the new process mostly in place, the
> danger is there will a mainline freeze to put out 2.061.
The new process is to branch when we decide to release 2.061. Please let
me know whether this is true or false.
>>> Of course none of this stops people preparing evolutions of the mainline
>>> now even during a mainline repository freeze, this is DVCS / Git and so
>>> Subversion trunk rules just do not apply!
>>
>> Sure. I agree that should (and can easily) change. But I fail to get the
>> overarching theme of your post - I just see agitation, agitation,
>> agitation, but no coherence.
>
> Sorry but if you haven't got the points already, then my points are more
> than valid.
Well the alternative route might have been to reckon the conveyance of
said point could have been improved.
> Anyway, it is clear you are asking me to shut up on this topic so this
> will be my last post on it.
Sorry Russel but this is just being smug. This conversation goes like this:
RW: "You need to change everything! Everything!"
AA: "Well so I understand from other people, step 1 is to branch for
each release. Great."
RW: "Yes and no! There is step 1 and no step 1! It's a revolution!"
AA: "OK so what do I need to do?"
RW: "You're hopelessly anchored in the wrong mindset! You don't
understand! It's the second coming man!"
AA: "Well this does little in the way of illuminating me."
RW: "You're dumb and a bully. I'm not talking anymore."
If you want to help, I'd be in your debt if you were just a tiny bit
more concrete than telling me how hopeless I am.
Thanks,
Andrei
More information about the Digitalmars-d-announce
mailing list