Hi Greg,

thank you for making this more concrete. I think in most cases one proper review is enough. Also, I assume you mean force-pushing to the master branch?
Richard, Fred, and Riccardo are you open to this idea?

Best,
Hugo

On 04.09.25 04:50, Gregory Casamento wrote:
Hugo,

This is an excellent suggestion...

I've given this some thought in the past and I've probably been guilty of this on occasion as well.  I agree with this approach as it will protect against just anything getting into the master branch by mistake.  Such an approach should require an approval from any one of:

myself,
richard frith-macdonald,
fred kiefer,
riccardo motolla

since the above are the maintainers of the core packages.  This should be followed up by the package maintainer themselves.

The issue I have had with taking this approach is the sheer number of packages included in GNUstep and, up until now, what we have been doing has been working with minimal interference.

This is something that needs to be agreed to by the team.  My thoughts on this have been the following:

  * Require PRs from feature branches
  * Require CI to pass before merge - This needs to be a hard
    requirement even if we don't do this.
  * Minimum 1–2 reviews (Code Owners where applicable)
  * No force‑push; squash or merge‑commit only - Preserves history
  * Reverts for any violations, followed by a short
    explaination/retrospective on why

Whatever workflow we agree on needs to be documented and put into a CONTRIBUTING.md or other documentation to make the process clear.

Only code owners should be able to directly commit to their own repo, or myself, as lead maintainer.

Yours, GC

On Wed, Sep 3, 2025 at 12:05 PM Hugo Melder <[email protected]> wrote:

    Hi,


    In the past weeks I have seen pushes to the master branch that did
    not
    go through a proper review process. Some of the commits did not even
    pass the CI.

    Can we please move to a sane approach and protect the master
    branch? All
    work shall be done on feature branches instead, according to best
    practice. We have been doing this in libobjc2 for years now and it
    works
    great.

    I'm mostly concerned about gnustep-base right now.

    Best,

    Hugo




--
Gregory Casamento
GNUstep Lead Developer / Black Lotus, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
https://www.patreon.com/bePatron?u=352392 - Become a Patron
https://www.openhub.net/languages/objective_c
https://www.gofundme.com/f/cacao-linux-a-gnustep-reference-implementation

Reply via email to