[fpc-devel] [RFC] Modernising the FPC Release Process -- Proposal for Review

Martin Frb lazarus at mfriebe.de
Fri Apr 17 17:05:08 CEST 2026


On 17/04/2026 16:30, Michael Van Canneyt via fpc-devel wrote:
>
>
> On Fri, 17 Apr 2026, Martin Frb via fpc-devel wrote:
>
>>>
>>> But in the bulk of cases, it's just a couple of clicks and you're done.
>>
>> Well, see my other mail...
>
>
> We can of course all stick desperately to the old ways. I myself will 
> have to change my ways, I rarely make branches today.

My mail wasn't really about "not wanting to use branches" => I do that a 
lot, at least locally.

If I was affected (if I were working on fpc), then I would have to say:
- I prefer a largely linear commit history. My personal preference (but 
open wide to adaption) is to have
    3rd party in a branch
    team-commits mainly linear, but down to every team members preference.
   => in either case, as long as branches are rebased before merging 
(none-FF merges) then that is linear enough.

I do make a difference between
- git (and all that git allows us to do)
- GitLab
The latter is less important to me. It's a means to enable git.

Also, the conclusion of "sticking to the old way" just because I see one 
of a thousand possible new ways as maybe not that great => that 
conclusion seems a bit much...

-----------------------
For the rest, I don't know the full current way. I don't know the 
preferences of everyone in the the team....

IMHO the first is to decide (or establish, if the current is good) the 
flow. (And maybe you have that, and I - as outsider - miss that).
The tools can then be found to match the flow.

Of course proposed flows can be based on available tools => that makes 
sense. But at the same times, flows can be proposed to see if the 
tooling exists.

About the flow.

1) There are 2 type of commits that need merging/cherry picking to fixes
a) those that carry fixes or changes that in their own warrant the pick.
b) those that are needed to enable the above (dependencies / former 
changes that the "a" commits are based on)
=> the 2nd "b" group can be mostly ignored, as decisions on it are 
dictated by "a"

2) When (and by whom) are the decisions made what is a "a" commit (not 
the merging / the decision).
If the merging is later, then tooling is needed to record the decision 
(can be done)

3) When are the merges/pick done, and by whom. Are they required to be 
done in particular order?

4) any "after work" e.g. tests?


I would sort of except that "2" is done ASAP. In most cases (except 
where fixes are an unknown side effect) that would be at the time of 
pushing the commit (and by the person pushing it).

"3" There are arguments for either ASAP (more testing in fixes) or 
after-some-time (waiting for feedback from usage in main branch first).

-----------------------

The other big question (that is always forgotten in those discussion). 
Who? Who does it.

My opinion: Everyone. Everyone takes care that their own commits (if 
applicable "1a") are picked.
Unless, some one volunteered.

And actually that "everyone" works fairly well for Lazarus, IMHO.
With the addition, that for the few that aren't comfortable, their are 
others who help them. (based on just publishing the sha1 that should be 
done)


-----------------------
If the answer to "3" => "When" is asap, then everything that should go 
into fixes, is picked at the very moment that its is decided that it 
should. No need to tag it in any way as "needs to be picked".

If the answer is later, then you need a way to tag that.
Using MR is not the only way to do that.





More information about the fpc-devel mailing list