Gitflow proposal

2019-11-15 Thread Fred Kiefer
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 :
> 
> 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




Re: Gitflow proposal

2019-11-15 Thread Richard Frith-Macdonald



> On 15 Nov 2019, at 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

I broadly agree, though my reasoning may be a litte different.  I'm someone who 
finds it very hard (and very time consuming) to try to comment in ways that 
people won't find offensive, so a system where I'm called upon to comment more 
is very bad for me (and might end up putting other people off too);  with 
complex changes I also find it much more efficient to speak rather than 
exchanging comments (and people who know me will know how hard it is to get me 
to pick up the phone).

I rather like committing all small changes directly to trunk so that a maximum 
number of people in a small team will see them and fix/report errors.  I even 
feel it maks sense to do large/complex things in a branch and then merge the 
branch into trunk.
On the other hand, I sympathise with people who don't like to find trunk 
broken;  we clearly have people who want to keep up to date with trunk but 
don't want their builds to fail etc.  So I guess my ideal would be to mostly 
work on trunk but have automated build/test environments testing it and 
updating a another branch only to revisions where all the automated 
builds/tests have passed.  Non developers could then use that branch rather 
than trunk.
 


Re: Gitflow proposal

2019-11-15 Thread David Chisnall
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 :

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








Re: Gitflow proposal

2019-11-15 Thread Gregory Casamento
Fred,


On Fri, Nov 15, 2019 at 3:17 AM 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.
>

I agree.  Now that I think about it that is closer to the model I have been
following.  I believe we should adopt it universally.

> 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.
>

Agreed.

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.
>

I doubt it would be that long, but point taken.

> 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.


I realize you're referring to me, Fred, no need to hide that fact.  Say
what you mean explicitly and plainly, I won't be insulted.  I did fix most,
if not all of your suggested changes where they made sense.  The work done
on NSOrderedSet shows this as well as other classes that I have contributed
as of late.  Some of the suggestions were made obsolete by other updates or
were not needed such as changes to use fast enumeration.

Up until now I am one of the few who has been try to follow this process.
 I haven't seen an overabundance of PRs in the queue for either base or
gui.   There are 57 of them to date and many of them were created by myself
and Frederick Seiffert and a few others.   I would like to see more by
other contributing members.  What I don't like is people merging directly
into master without creating a branch and without any oversight at all.

What I'm advocating is that we make this process universal and everyone and
I do mean EVERYONE, including myself, needs to follow it to the letter.

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.
>

I have been a bit hasty as of late, but us "rogues" (or rather, heh, rogue)
have contributed more in the past month than most have in a year.  I have
no issue following process or even defining it... as I am trying to do here.

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.
>

I've been thinking about process more than most as evidenced by the fact
that I was the one who brought the idea of imposing a process up in the
first place.

Having worked for large corporations doing work in the Aerospace (NASA,
Xcor) industry I know the value of process.  In the case of when I worked
for NASA it saved lives, literally.

As we say in the space industry: Blame is useless, Work the problem.

Yours, GC

Fred
>
> > Am 15.11.2019 um 05:30 schrieb Gregory Casamento <
> greg.casame...@gmail.com>:
> >
> > 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
> >

Re: Gitflow proposal

2019-11-15 Thread Riccardo Mottola

Hi,

Fred Kiefer wrote:

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.


"gun" ??? git is a gun? :)

But I agree, there are no paid reviewers here. Theoretically, 
maintainers of every package should do that, but it is too much to ask.
Even at work, people getting in charge of code reviews of pullr equest 
can get a high level of stress!


As Richard stated in another mail - complex comments are long to write 
and discussions inside comments can be even worse than per mail, 
chat or phone!




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.


This is precious work, Fred. One thing though: I really hate hoe 
comments are managed. I don't have a clear list of comments to review, 
re-read, etc. They can be both in a PR (which is easier) or also on just 
a commit, in that case with the github UI is a mess. I loose track, so I 
actually rely on the emails I get for the comments and link-open to find 
the reference on the code again. So it is a complicated way to handle 
things.


Generally speaking, however, this setup has several advantages in 
control, but is timeconsuming.


At work, I think a full set up gets very bureaucratic.

# stable trunk
-- "devel" trunk wtih merges of all the feature branches
 > bug fix branch
 > feature branch 1
 > feature branch 2


but, since here we don't work with a whole load of sub-contractors and 
developers, I'd prefer something more simple!





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.


Branches should be used for everything which is a longer-running changes 
should be a branch and pulled together.


Riccardo



Re: Gitflow proposal

2019-11-15 Thread Gregory Casamento
Riccardo,

What Fred is advocating is simply to create a feature branch and merge it
back into master when ready.   Gitflow includes an extra develop branch
which we don't need.

I agree with Fred that feature branches would help things a lot so long as
we all follow it.  It's not too heavyweight.  It makes sure that everything
gets reviewed.

It is simply

master --->
   |   /\
\_ feature branch _/

On the feature branch we can do a PR and a review before things are merged
as well as implement tests to run under CI.

GC



On Fri, Nov 15, 2019 at 5:55 AM Riccardo Mottola 
wrote:

> Hi,
>
> Fred Kiefer wrote:
> > 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.
>
> "gun" ??? git is a gun? :)
>
> But I agree, there are no paid reviewers here. Theoretically,
> maintainers of every package should do that, but it is too much to ask.
> Even at work, people getting in charge of code reviews of pullr equest
> can get a high level of stress!
>
> As Richard stated in another mail - complex comments are long to write
> and discussions inside comments can be even worse than per mail,
> chat or phone!
>
> >
> > 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.
>
> This is precious work, Fred. One thing though: I really hate hoe
> comments are managed. I don't have a clear list of comments to review,
> re-read, etc. They can be both in a PR (which is easier) or also on just
> a commit, in that case with the github UI is a mess. I loose track, so I
> actually rely on the emails I get for the comments and link-open to find
> the reference on the code again. So it is a complicated way to handle
> things.
>
> Generally speaking, however, this setup has several advantages in
> control, but is timeconsuming.
>
> At work, I think a full set up gets very bureaucratic.
>
> # stable trunk
> -- "devel" trunk wtih merges of all the feature branches
>  > bug fix branch
>  > feature branch 1
>  > feature branch 2
> 
>
> but, since here we don't work with a whole load of sub-contractors and
> developers, I'd prefer something more simple!
>
>
> >
> > 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.
>
> Branches should be used for everything which is a longer-running changes
> should be a branch and pulled together.
>
> Riccardo
>
>

-- 
Gregory Casamento
GNUstep Lead Developer / OLC, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
http://ind.ie/phoenix/


Re: Gitflow proposal

2019-11-15 Thread Matt Rice
I think Fred hits the major points quite well,

in all the GNU projects i've ever worked on besides GNUstep even
maintainers post patches for review for the benefit of other
maintainers.  Certain things are disqualified from this, such as
fixing typos, unbreaking master either by reverting or fixing the
commit... Things which could be justified as being obvious changes.

Generally when patches are posted, and do not receive review a
maintainer (usually the author but i don't feel like ruling it out),
can give a heads up that they intend to commit the patch in the near
future within some reasonable timeframe...

This adds a bit of delay to the whole process however not entirely
unbounded nor too rigid,
but gives others their say.  Personally i would say the lack of any
review process was a major factor in my decision to stop
contributing...

On Fri, Nov 15, 2019 at 8:16 AM 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 :
> >
> > 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
>
>

Re: Gitflow proposal

2019-11-15 Thread Gregory Casamento
Matt,

On Fri, Nov 15, 2019 at 9:08 AM Matt Rice  wrote:

> I think Fred hits the major points quite well,
>

I agree.


> in all the GNU projects i've ever worked on besides GNUstep even
> maintainers post patches for review for the benefit of other
> maintainers.


Of course.

Certain things are disqualified from this, such as
> fixing typos, unbreaking master either by reverting or fixing the
> commit... Things which could be justified as being obvious changes.
>

Yes, quick fixes are okay to go right to master.

Generally when patches are posted, and do not receive review a
> maintainer (usually the author but i don't feel like ruling it out),
> can give a heads up that they intend to commit the patch in the near
> future within some reasonable timeframe...


Ok

>  This adds a bit of delay to the whole process however not entirely

unbounded nor too rigid,
> but gives others their say.  Personally i would say the lack of any
> review process was a major factor in my decision to stop
> contributing...
>
>
Understandable.



> On Fri, Nov 15, 2019 at 8:16 AM 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 <
> greg.casame...@gmail.com>:
> > >
> > > 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 mitiga

Re: Gitflow proposal

2019-11-15 Thread Ivan Vučica
Oh, also, in GNUstep’s case, honestly, I’m not too keen on making reviews
mandatory even in general case — just a strongly encouraged practice.

On Fri 15 Nov 2019 at 09:45, Ivan Vučica  wrote:

> I might be incorrectly following the discussion.
>
> Reviews with the exception for quick fixes — yes.
>
> Someone drew a graph of stable, which is forked into dev branch, which is
> forked into individual feature branches. FWIW I personally like the PR
> model, and pulling incoming PRs into master; if there is a need for stable
> branches, I’d keep separate stable branches. Or not even branches: take the
> tag for previous release (let’s say 2.45.0), cherrypick the fix, tag the
> new release (2.45.1).
>
> Master is, to me, the “unstable” beast. Stable branches are just that. To
> my memory we haven’t really had a need for stable branches, but...
>
> On Fri 15 Nov 2019 at 09:40, Gregory Casamento 
> wrote:
>
>>
>> Matt,
>>
>> On Fri, Nov 15, 2019 at 9:08 AM Matt Rice  wrote:
>>
>>> I think Fred hits the major points quite well,
>>>
>>
>> I agree.
>>
>>
>>> in all the GNU projects i've ever worked on besides GNUstep even
>>> maintainers post patches for review for the benefit of other
>>> maintainers.
>>
>>
>> Of course.
>>
>> Certain things are disqualified from this, such as
>>> fixing typos, unbreaking master either by reverting or fixing the
>>> commit... Things which could be justified as being obvious changes.
>>>
>>
>> Yes, quick fixes are okay to go right to master.
>>
>> Generally when patches are posted, and do not receive review a
>>> maintainer (usually the author but i don't feel like ruling it out),
>>> can give a heads up that they intend to commit the patch in the near
>>> future within some reasonable timeframe...
>>
>>
>> Ok
>>
>>>  This adds a bit of delay to the whole process however not entirely
>>
>> unbounded nor too rigid,
>>> but gives others their say.  Personally i would say the lack of any
>>> review process was a major factor in my decision to stop
>>> contributing...
>>>
>>>
>> Understandable.
>>
>>
>>
>>> On Fri, Nov 15, 2019 at 8:16 AM 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 <
>>> greg.casame...@gmail.com>:
>>> > >
>>> > > 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 y

Re: Gitflow proposal

2019-11-15 Thread Ivan Vučica
I might be incorrectly following the discussion.

Reviews with the exception for quick fixes — yes.

Someone drew a graph of stable, which is forked into dev branch, which is
forked into individual feature branches. FWIW I personally like the PR
model, and pulling incoming PRs into master; if there is a need for stable
branches, I’d keep separate stable branches. Or not even branches: take the
tag for previous release (let’s say 2.45.0), cherrypick the fix, tag the
new release (2.45.1).

Master is, to me, the “unstable” beast. Stable branches are just that. To
my memory we haven’t really had a need for stable branches, but...

On Fri 15 Nov 2019 at 09:40, Gregory Casamento 
wrote:

>
> Matt,
>
> On Fri, Nov 15, 2019 at 9:08 AM Matt Rice  wrote:
>
>> I think Fred hits the major points quite well,
>>
>
> I agree.
>
>
>> in all the GNU projects i've ever worked on besides GNUstep even
>> maintainers post patches for review for the benefit of other
>> maintainers.
>
>
> Of course.
>
> Certain things are disqualified from this, such as
>> fixing typos, unbreaking master either by reverting or fixing the
>> commit... Things which could be justified as being obvious changes.
>>
>
> Yes, quick fixes are okay to go right to master.
>
> Generally when patches are posted, and do not receive review a
>> maintainer (usually the author but i don't feel like ruling it out),
>> can give a heads up that they intend to commit the patch in the near
>> future within some reasonable timeframe...
>
>
> Ok
>
>>  This adds a bit of delay to the whole process however not entirely
>
> unbounded nor too rigid,
>> but gives others their say.  Personally i would say the lack of any
>> review process was a major factor in my decision to stop
>> contributing...
>>
>>
> Understandable.
>
>
>
>> On Fri, Nov 15, 2019 at 8:16 AM 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 <
>> greg.casame...@gmail.com>:
>> > >
>> > > 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/comp