[FFmpeg-devel] Regarding Git Tooling

martin schitter ms+git at mur.at
Wed Jan 22 08:41:49 EET 2025



On 22.01.25 03:00, Soft Works wrote:
> It's a bit difficult to judge those repo providers without appropriate data, so I made copies of the ffstaging GitHub site (for creating PRs being sent to the ML), so the all have current ffmpeg data:
> 
> 
> Gitea
> 
> https://gitea.com/ffstaging/FFmpeg
> 
> 
> forgejo
> 
> https://v10.next.forgejo.org/ffstaging/FFmpeg
> 
> 
> GitLab
> 
> https://gitlab.com/ffstaging/FFmpeg


Perhaps you should also add a `radicle` (https://radicle.xyz/) test repo 
to the play, because it's one of the rare solutions, which takes 
decentralization, platform independent meta info within the git repo 
data itself and access by various means really serious. And it's core 
isn't based on one of this horrible web tech frameworks but using rust 
for a perfomance and safety critical server implementation. Only the 
web-browser-frontend uses svelte. Unfortunately it's still in very early 
development stage and hard to get used for newcomers.

In regard to the other three more common choices, you should definitely 
also ask about their CI, search and federation capabilities and current 
support.

Forgejo may look nice on first sight, because it's more or less just 
copying GitHub, which most of us became used over time, but it has a lot 
of really insufficient solved edges, which are very annoying in daily work.

Whenever I contribute to a codberg.org based project, I have to use some 
GitHub mirror in parallel, because the current search capabilities are 
so much worse in Forgjo. You may argue, that searching is a task, which 
you handle localy in your IDE or by old-fashioned command line tools 
anyway. But this will work only for code and commit content! All the 
info, which is placed in issue and merge request threads, isn't easily 
accessibly by other means. If you have to make changes in huge projects, 
you always spend lots of time to understand the history and decisions 
during the development process in the past. This info is usually placed 
in exactly this hidden corners, if available at all, just as here on 
this mailing list.

Better CI support, which is the strong side of GitLab, is IMHO just 
similar important as pure git repo hosting. It helps to automatically 
check merge requests, and report and step by step correcting the related 
issues in a significant more efficient way than here on the list. But 
good CI solutions, which are not just somehow glued together with the 
code management infrastructure, allow much more! They are not controlled 
and configured only by the repo owner by hidden setups, but are 
transparent and can be easily modified by users in their private forks 
or runners on their local machines. That's a very important feature in 
practice, because it motivates developers to also improve this test and 
build infrastructure together instead of just relaying on some 
non-transparent given infrastructure maintained by a few professionals.

martin


More information about the ffmpeg-devel mailing list