gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Gitflow proposal


From: David Chisnall
Subject: Re: Gitflow proposal
Date: Fri, 15 Nov 2019 09:33:22 +0000
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2

FWIW: Both internally and for public projects, at $WORK we use feature branches and PRs, so I concur with Fred here. GitHub lets administrators commit changes without review, which we sometimes do for things like tweaks to comments and so on, but generally don't for anything involving a code change (or, if we do, at least wait until it's passed CI). Having a test suite that's parallelisable helps a lot here: The GitHub CI / Azure Pipelines executors are 4-core machines, so running the tests in parallel helps a lot with turn-around times.

David

On 15/11/2019 08:16, Fred Kiefer wrote:
First off before I explain why I am strongly against Gitflow let me restate 
that I advocate feature branches and pull requests. But I will come back to 
that in the end.

A software workflow should match the organisation and purpose of a project and 
the people that defined Gitflow are well aware of that. They describe what sort 
of projects Gitflow is suited for. GNUstep does not meet that criteria. Even in 
the place where I work we decided against Gitflow as it is not well suited for 
our processes. I could go into details here but I believe you are all able to 
follow the link below and read the description.

Also it won’t work. Nobody is getting payed to review pull requests on GNUstep. 
If I started to write pull requests for GNUstep gun, they would be sitting 
there for a year or so without anybody noticing.

The bigger problem is that even Gitflow won’t help us with our quality issues. 
Over the last few months I have tried to provide comments to most of the pull 
requests in the GNUstep repository. I do this a lot at work and doing so comes 
naturally to me. Most of the developers react positive by fixing the issues I 
point to. There is one exception and please look it up in git to see the 
difference. In that case many of my comments did get ignored others, where 
flagged as done although no change was made and sometimes branches where merged 
even when travis reported them as broken or while I had objected merging them. 
So even a workflow that enforces all this is of no use in this case.

And it could be even worse. With Gitflow in place as a rule, Riccardo and I 
could have been stopped from doing the emergency fixes we did last night to get 
master compiling again (and not only for gcc, Riccardo's change must have fixed 
compilation of clang as well). As long as we have rogue developers with full 
permissions out there, we need ways to counteract.

So yes, let's use more branches and pull requests but especially those 
developers that break the build. And if we ever manage to get them to follow 
that rules we might start to think about more process.

Fred

Am 15.11.2019 um 05:30 schrieb Gregory Casamento <address@hidden>:

Guys,

I must say this.  I have been trying to, in general, hold myself to doing this 
rather formally up until recently.  I admit that I have been more directly 
pushing things in as of late.

Since, as you say, this could have been avoided by doing PRs... which it could 
have.  Should we not, as an project, move to this model?  It's known as gitflow 
and it's what I was following when I would create a branch with large changes 
and then have it reviewed by yourself and others before merging.   This would 
slow some development down, but it would have the effect of keeping master in a 
condition where it always builds and is always releasable (which should always 
be the case).

Here is a link, for reference: 
https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

Some might argue that this should only be done with large teams, but I used 
this process on a small team when I worked at a company known as customink 
where we only had 4 people and it still helped things go very smoothly.

This is the process I've been trying to adhere to.  I would advocate that, if PRs could 
have prevented this then, perhaps, we should all move to it.  I had a discussion with 
Riccardo where he thought this process was too much and was silly and that merging to the 
master branch directly is always the best way to go.   That's precisely what caused this. 
  We can make all of the arguments that "a focused developer wouldn't make these 
mistakes" but that's BS.  Process is here to prevent mistakes or to mitigate them.

I disagree with Riccardo's position wholeheartedly.   A more controlled and 
disciplined approach should be adopted and we should stick to it.

Any thoughts?

Yours, GC






reply via email to

[Prev in Thread] Current Thread [Next in Thread]