[fpc-devel] 134 open merge requests - is that normal?

Marco van de Voort fpc at pascalprogramming.org
Tue Apr 7 14:44:39 CEST 2026


Op 7-4-2026 om 13:36 schreef Martin Frb via fpc-devel:
>
> Well, what I can say for myself (slightly modified for those less git 
> experienced). If I make a commit, that I deem might be a fix => I can 
> immediately make a local cherry pick.

If it is a pure fix, maybe. If it is part of a restructure, that is harder.

> I don't have to push that. I can keep it until I know I want to push 
> it. (I can also push it elsewhere and ask for review).
> If there is other incoming on the branch, while I haven't pushed, the 
> conflicts with that are usually smaller.

I hardly can leave commits in local repos for long, as I work on 
multiple machines, so that would not be an option for me.

Yes, I know I can invest an insane amount of time to interface it via my 
own gitlab repository, but that would only be more work, both in setting 
up as in daily use.

> And if you need a final selection, you can cherry pick from the cherry 
> picks...
>
> IMHO git offers some small additions over SVN here. But the real 
> advantage only comes if everyone participates.
IMHO only if you fully follow the git suggested workflow to the letter. 
As soon as your workflow situation differs, the whole thing comes 
crashing down. IMHO git has the doubtful attribute of being both too 
flexible and too inflexible at the same time.
>> To be fair: merging in the compiler is harder than what I do , since 
>> things are more interconnected there.
> Which imho makes it even more important to merge/pick "potential 
> fixes" asap. Once you start forgetting all the nitty gritty of your 
> change, picking them becomes much harder.

There is IMHO still a big difference between immediate and after a few 
weeks. The need for immediate merging action without first seeing how it 
fares in main is IMHO too limited.  That is the whole idea of having two 
branches.

>> Well, merge requests is  the original subject of this thread. One can 
>> argue if they are a netto plus or not, but there are downsides too 
>> (it allows users to submit more code at once and without prior 
>> communication to core about formatting and other decisions), and in 
>> any case they are not the game changer they were hailed to be.
>>
>> (I think they are a netto plus, but a rather small one)
> They are on the attract others side...

There are a handful of regular fix submitters (among others Margers, 
Rika, AlexTP, Gareth as the most frequent) that deliver to the point 
fixes.  And maybe it is easier that way than the old way of giving them 
commit bits with some warnings (like don't commit outside of your 
expertise without review).

That is the netto plus saving some commit account administration maybe, 
and a bit of control/oversight. But that doesn't really broaden the 
contributing developers as much as often was predicted.

So I stand by my conclusion that it is not  the landslide feature as it 
was made out to be.

> Though, there is a need "trick" to deal with older MR (also can be 
> done for patches and all).

Yes. Roughly the same trick as with old style patches too, together with 
manually removing often conflicted but trivial bits like Lazarus 
projects and makefiles.

>> Anyway, if we reverse the order, then if I understand everything 
>> correctly  we would have the robo commits to advance the fpcbuild 
>> submodule link in the fpc/ repo ? No thanks!
> Ideally the would be part of the commits that would make them a 
> requirement.

How do you enforce that? A post commit script at gitlab that updates and 
the squashes the commits into one?

>
> The robo-commits basically signify that they are one single repo. The 
> split is arbitrary, the could be all in one git repo.

I think the main reason is to be able to check out the multiple repos 
(that are IMHO separate administrative units) as one checkout with one 
branch name. E.g. for release and snapshot scripting. Also in the past, 
fpcdocs was versioned, that might also have been a factor. (the fixes 
fpcbuild links to the fixes docs).  You could switch the version of the 
docs on a per branch basis (for trunk-fixes-release candidate-release).

I might be doing something wrong but iirc this didn't work for me on 
windows for RC1 and ended up  hand copying repos in each other to get a 
buildable complete tree, so the current situation is not ideal.

Anyway I'm not entirely sure what the original reason was.  I wasn't 
much involved in the early SVN migration on an architectural level, more 
on keeping things going, like I'm now with git.  But I used a much 
larger subset of SVN than I ever did of CVS because of the merge/release 
work and  the various packages/ restructures. SVN felt an improvement 
pretty quickly (if only because renaming files was easier)

If git is too inflexible, I rather would lean towards adapting those 
scripts for multiple checkouts than stuff everything in one repo. But 
that depends on my guestimate on the reasons, and might require careful 
synchronizing branch names between repos, so that you can check them all 
out with one branch name.

And as said I think there was an element of pacing the migration changes 
but that petered out.

> There are very few commits to fpc-build (other than the robo ones). 

That's because there have been no releases. It usually picks up around 
release time and during the year that a major branch is in beta.

> And how many of those real commits are because a commit to fpc-source 
> made them necessary (and therefore the reversed submodule update in 
> fpc-source to pull a newer fpc-build) could have been part of the 
> overall commit?
>
> But then again, as I don't use them, I really don't know all the 
> requirements... 

... but I agree this could all be overcome if the submodule construct is 
too hard over time. It is from a different magnitude than e.g. the merge 
tracking.





More information about the fpc-devel mailing list