Forgejo vs GitHub vs gitlab
Forgejo vs GitHub vs gitlab
Posted Oct 9, 2025 19:44 UTC (Thu) by SLi (subscriber, #53131)Parent article: Gccrs after libcore
How does forgejo compare to e.g. gitlab?
I've interacted with some projects hosted on gitlab. I can see some ways in which GitHub is less than ideal even besides it being proprietary. But I find it really awful to not have a code search, which apparntly gitlab does not have.
Posted Oct 9, 2025 19:57 UTC (Thu)
by jzb (editor, #7867)
[Link]
If you want to get a feel for Forgejo, you could peruse some of the projects on Codeberg, which uses Forgejo under the hood. Looking at, say, the Shepherd repository, it seems that Forgejo/Codeberg do have code search. Whether it compares well with GitHub I can't say for sure, I haven't used it extensively...
Posted Oct 9, 2025 22:48 UTC (Thu)
by ebassi (subscriber, #54855)
[Link] (4 responses)
Gitlab has code search, but you need to set up a whole elasticsearch cluster for it; not every project self-hosting Gitlab wants to do that.
Posted Oct 10, 2025 18:54 UTC (Fri)
by SLi (subscriber, #53131)
[Link] (3 responses)
Looking at e.g. https://gitlab.freedesktop.org/wlroots/wlroots/ , I see only a "search by filename" (even when signed in, if that makes a difference), which is... not what I mean by code search.
Posted Oct 11, 2025 11:48 UTC (Sat)
by ebassi (subscriber, #54855)
[Link] (2 responses)
GNOME, too, has not set up a search cluster. Again: it's not something people self-hosting GitLab necessarily want to spend time babysitting in their infrastructure.
Posted Oct 11, 2025 12:43 UTC (Sat)
by SLi (subscriber, #53131)
[Link] (1 responses)
Probably this is exacerbated by how I work on systems, not any single repository. A really common use case for me is to search a repository for a specific error message or function name. Having a project hosted on a searchless instance basically forces me to either rely on unofficial GitHub copies or to check out the repository locally, which is just a major hassle if the only thing you want is to understand the immediate condition that triggers some error message.
Posted Oct 12, 2025 1:17 UTC (Sun)
by lanodan (subscriber, #169017)
[Link]
Posted Oct 10, 2025 2:27 UTC (Fri)
by mathstuf (subscriber, #69389)
[Link]
Forgejo feels like Github in terminology, UI, and such. GitLab definitely has its own separate feel from either. I don't like that Forgejo continued Github's conflation of the issue and PR ID domains[1]. GitLab's review workflow is far better than Github (discussions, resolutions, etc.), so it is unfortunate that Forgejo copied Github instead.
However, GitLab is a monster. We have a "wait 60 seconds for things to settle" in an end-to-end test script just because it can take that long for the services behind the scenes to actually be ready. Forgejo is a Golang binary and is said to be ready in seconds. GitLab is also open core and the company does seem quite…distracted by shinies compared to useful feature considerations. They've accepted my patches (and we need very few these days). Take that as you will.
[1] One can migrate to GitLab while preserving issue/PR IDs, but cannot go the other way as !1 != #1 on GitLab which cannot be represented on the other forges.
Posted Oct 10, 2025 9:19 UTC (Fri)
by vasvir (subscriber, #92389)
[Link]
gitea feels snappy and has a code search.
I think is relatively safe to extrapolate the above statement to forgejo.
Forgejo vs GitHub vs gitlab
Forgejo vs GitHub vs gitlab
Forgejo vs GitHub vs gitlab
Forgejo vs GitHub vs gitlab
Forgejo vs GitHub vs gitlab
Forgejo vs GitHub vs gitlab
And one of the things I really love about it is the ability to use a regex.
Forgejo vs GitHub vs gitlab
Forgejo vs GitHub vs gitlab