Chris,

Thanks, and good to hear you will put the zmq work up again.

On your question about the merge button: there is an option we do not have enabled, "Allow rebase merging", which would give you exactly what you do by hand. Today only merge-commit and squash are enabled, so the button either adds a merge commit or collapses your series into one. With rebase merging on, your flow is unchanged: rebase on master as you do now, force-push to the PR branch, let CI run, then "Rebase and merge". Same bare commits on master, the only difference being that the matrix ran first. I can put it on the next meeting agenda, or if Andy is reading, just turn it on and we see how it goes.

Something you should know before you rebuild the branch: the revert was not complete. hal_bridge.py is still in the tree and still installed, the HALBRIDGE handling is still in scripts/linuxcnc.in, python3-zmq is still in debian/control.top.in, zmq is still live in screen_options.py and hal_glib.py, and the qtdragon docs still describe the bridge. What went out is the newest layer: the halui pins and embedded python, the bridgeui package, the softkey and angular jograte work, and the gmoccapy and axis wiring. So you are not starting from zero, and the parts most awkward to redo are still there.

I also owe you a partial apology on timing. The HAL API break went in on Sunday. The idea and the code are Bertho's; the pushing to get it landed quickly was mine. It renamed the HAL types tree-wide and touched 28 files under lib/python and src/emc/usr_intf, six of which are files in your reverted set, including halui.cc, gmoccapy.py, qtdragon_handler.py and three qtvcp widget files. So your re-land now has to cross a rename it did not have to cross two weeks ago. The old names still work with deprecation warnings, so nothing of yours breaks outright, but the conflicts are real, and the timing is on me. If you hit any of them, send me the branch and I will do the mechanical part. I reviewed Bertho's code throughout the break, so by now we probably both dream about red floats on green reals; it will take me minutes rather than an evening.

Ping me or post an issue on anything that looks like CI infrastructure rather than your code and I will chase it rather than have you sit on a rerun button.

Luca

On 9/29/26 11:28 AM, Chris Morley wrote:
Thank you taking the time to write your thoughts on this issue Luca.

I have often used branches to allow the process work through the code and 
complain about problems. I don't need a PR for that to happen, I just need to 
push a branch to linuxcnc.

In this case I purposely used a draft PR so others could easily look at, try 
and comment on the code. It started more as a discussion with experimental code 
and worked up to useable code. I think the code was there being moved forward 
slowly for a year. The irony is I was trying to get others to look at the code. 
:)
What I am not used to is waiting for someone else to push my code.
I got it to a reasonable utility, no conflicts, all tests passed, worked to 
completion with the only one asking for improvements (AFAIK) and wanted to get 
it in before master moved again.

Also I prefer the commits to be grouped together, so I usually rebase my 
commits on top of the current master, check again for problems, and then 
pushing. Merge button doesn't do this. This is the reason I pushed directly.
Now I could have done the same with the merge button by force pushing back to 
the PR branch and then merging but that is more work.
If I understand correctly, the difference would be a merge message instead of 
just the bare commits?

I also look at PRs  that are relevant to me or code I know and will merge them 
immediately if that seems fitting.

I will rebuild my zmq code and add a PR and wait for the 'new' process to 
evaluate it in good faith.

Thanks Chris
________________________________
From: Luca Toniolo <[email protected]>
Sent: September 28, 2026 4:44 AM
To: [email protected] <[email protected]>
Subject: Re: [Emc-developers] branch protection turned on

Chris,

For what it is worth, I think you are right about the part that matters.
The technical question of whether branch protection is on or off is
small next to how the disagreement was handled. Reverting work from
someone who was reachable and talking, on a misunderstanding rather than
a real breakage, costs the project more than any pushed commit could.
Trust is the one thing here that cannot be restored with a patch, and we
are few enough that losing a long-time contributor over a process
argument would be a far worse outcome than any of the code in question.

Reading Andy, the meeting conclusion was that CI enforcement stays off
and branch protection stays off for now, and that the whole thing needs
more discussion rather than a decision handed down. That seems right to me.

On the workflow itself, an invitation rather than a rule: try putting
your next few changes through a PR and see how it feels from the inside.
Not because your commits need a gatekeeper, but because the PR is where
the CI matrix runs, and that matrix catches things none of us can catch
locally: the RTAI build, the arm package builds, the docs and
translation checks, the sim tests on several distributions. Finding that
on a branch is cheap; finding it on master means someone bisects it later.

I will be honest about the cost too, because I do not want to sell it as
painless. The CI is slow, and a fair share of the red you will see is
not your code: apt mirrors that stall, runner images that change under
us, and a handful of tests that still race under load. That is annoying,
and it is the strongest argument the sceptics have. I would rather we
spend the effort fixing those flakes than arguing about gates, and I am
happy to help chase any that hit you.

What I would like out of this thread is not a rule but a habit: when
something someone pushed looks wrong, ask them first, and give it a day.
Almost every case resolves itself in one message. The cases that do not
are rare enough that we do not need machinery for them.

Luca

On 9/28/2026 10:38 AM, Chris Morley wrote:
I recognise that this would be an unpopular decision in the Sunday meeting 
group, so I am grateful for the current reversal, even if eventually we go back 
to it.

To me even more important then the branch protection being put on, was the 
summary decision to do it and to back out code that actually didn't break 
anything already in linuxcnc. Especially since I was in immediate (be it slow - 
I was at work) communication.

  From memory, we have never backout code that wasn't a big mistake.
This was not a mistake, a miss-understandment surely.
If someone had asked me 'hey this really screwed up some important critical 
work I need to get in, could we revert those ?' or 'damn sorry I forgot to 
mention there were a couple other serious problems I didn't notice' I might 
have had a couple questions but probably would have said sure, with no drama.

But to give me vague (code) complaints, berate me, push to the pr branch then 
close it, then revert the direct push and basically say make a new pr. Well you 
seemed to have panicked and just fk up my pr branch. Remember I said I would 
close it.

We all have to have some trust here. I don't have admin rights. I trust that 
those that do, wield them with caution and thoughfulness. In the history of 
linuxcnc we have had some major mistakes (master pushed to 2.8) a couple times. 
There were calls for removing push rights from people or branch protection etc. 
Luckily we had a few people that understood it was an honest mistake and 
restricting/controlling people is not a good way to get more people to help or 
current people stay with the project. Make a major mistake and have the devs 
say ok we can fix it, this is how to make sure it doesn't happen, try not to do 
that again, then see how much that person feels like this project values the 
people in it!

And you have to trust we are not out there trying to mess things up or don't 
care about others work. If you look at the comments in the PR I can't see how 
you could say it was anything but maybe a surprising misunderstandment.

Chris



________________________________
From: andy pugh <[email protected]>
Sent: September 27, 2026 9:03 PM
To: EMC developers <[email protected]>
Subject: Re: [Emc-developers] branch protection turned on

The consensus amongst those in the Sunday meeting was that it's a good
idea to have branch protection turned on, but not until everyone has
been persuaded.

To this end the decision was made to turn it off until there is
something approaching consensus on the issue.

--
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1912


_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers


_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to