Haikuports gerrit

I’ve like to ask the “haikuports team” to consider moving off github and onto self-hosted software.

I’m not sure who exactly would make that decision, but as one of the (inofficial? i guess) Haiku developers I am really struggeling to get anything submitted on github, the workflow is slow, cumbersome and the web interface works absolutely horrible in webpositive. I’ve recently tried to review a PR for nheko but i just gave up on it.

I suppose if this is done it would involve asking the Haiku inc to host a second instance of gerrit for haikuports, and trac. or perhaps merge both into the existing trac and gerrit.

Regards,
nephele.

2 Likes

Personally I actually prefer the GitHub pull requests and review interface to Gerrit’s, by a lot, not least because it’s branch-based as opposed to commit-based. I don’t think we should switch at all.

8 Likes

I don’t have a strong opinion on this, I’m used to github for quite some years now, and getting git working to my needs fine so far, I also have multiple repositories setup (mainly for upstreaming patches), how would that work?

remote repositiories for upstreaming patches as in githubs “forks” are not required in gerrit, you simply push the patch to gerrit and it will create a review. if you edit your commit (with git commit --amend) the new commit will replace the old one in the next push, but the difference between both diffs is directly visible to see how you itereated.

It’s definetely a different workflow

1 Like

This is a great suggestion,please do it!
I dislike being dependent on a evil big corporation like Micro$oft for contributing to community projects like this one.
Sure,“but everyone does that…”,but that doesn’t automatically mean that it’s right.
The 2FA requirement that Github will roll out soon makes it even more difficult to contribute there,as it now requires to give them the phone number or install some app that I don’t want and honestly don’t think I need.
I also think that it makes more sense to upload patches instead of working with branches.
i have to use branches a lot when updating stuff in the OpenIndiana repository (which unfortunately also uses Github :cry: ) and it often gets confusing if I try to do too much different stuff at the same time.

2 Likes

You can’t even edit comments on Gerrit, and the UI is just generally far worse IMO.

Codeberg.org or another gitea/forgejo instance (self-hosted even?) would be a less disruptive change.

+1 from me on stopping to use Github because it is closed source. We should use open source tools as much as possible.

For Haikuports, the reviews are simple enough that I’ll adjust to whichever opensource tool.

I think that’s intentional from Gerrit developers, malevolent people could edit comments to say the opposite of what it initially said, and confuse other contributors.

A matter of preference. For me Gerrit is a lot better (and I was the one pushing for its use in Haiku). But it seems I’m alone on that…

2 Likes

Codeberg would also be a huge improvement compared to Github.
I haven’t worked with Gerrit enough to tell if the workflow is better or worse,but from what @nephele explained above I think it can simpler if you get used to it…

I think Github defined a workflow and people just got used to it and now it seems “easy” to them.

“It’s easy, you just make a fork of the repository and you add that as a separate remote on your local machine, then you make a feature branch, you push your changes to there, oh and by the way be sure to rebase it on top of the master branch from time to time, and to do that you first need to ‘sync’ your fork from the web interface first, and then use git fetch on your machine. If you want to update your pull request, you have to push to the same branch you started the pull request from, that’s so obvious that it isn’t documented anywhere, oh and by the way, you made your own personal fork of the repo, but you should allow people from the original project to write to your branches, so that they can fix minor things in your pull requests faster”

In Gerrit, you can work with Git pretty much without knowing anything about branches, forks just don’t exist and neither do merge requests (it’s just commits). To me it is a much simpler world. Is my brain wired so strangely?

1 Like

I agree,that’s really a lot better.
I wonder why every Github alternative (Gitlab,Gitea,Gogs,Codeberg,…) adapted the Github way instead.
Maybe because people are too used to it now.
But Haikus big advantage is to do stuff differently where all others do nonsense,and this is another chance for Haiku to get it right :slight_smile:

As long as a tool permits to work from the terminal, and the workflow gets adequate documentation ( with examples ! ) any tool would be fine.

1 Like

Any reason to consider something else than Gerrit? Personnaly I use a Gitea docker container which I find much lighter/responsive.
As a bonus it can be configured as a proxy/mirror (hiding github for those not wanting to use it), but I guess other open source git servers can also do that?

Has anybody looked into Gitness? It’s docker-based for maintainability but I don’t know how to apply that to Haiku. It’s fully open-source, at least. Link is https://gitness.com/ if interesred.

I personally dislike gerrit a lot. It is git-like but not regular git. You need to have a lot of scripts to work with it efficiently. I like branches and PR’s a lot more.

3 Likes

“a lot of script” that consists of just one commit hook to set a change-id, and even that is optional if you want to manage change-ids manually.

I could make the same argument of Github, that is a lot more convenient to use with the “hub” tool (so you can use commands like “git fork” to create a fork on github and the like).

I agree that Gerrit’s way of doing things is unusual in a world where everyone adopted the GitHub workflow. But neither is “the one true Git way”. There are just many ways to use git with different workflows. There is GitHub and many similar implementations. There is Gerrit. There is also the flow based on mailing lists and git send-email, which also comes with its own set of additional tools.

So, the argument of “a lot of people know how to use GitHub” is understandable, but I wouldn’t go as far as calling that “regular git” as if it was part of git itself. It’s just one way (and the most popular way currently) to use that tool.

1 Like

There is a forked wrapper of “hub” called “lab” that works identically but uses GitLab instead of GitHub. GitHub - zaquestion/lab: Lab wraps Git or Hub, making it simple to clone, fork, and interact with repositories on GitLab. Unfortunately, it’s written in Go.

No gitlab please, last time I checked there they requested a credit card number :confused:

1 Like

+1 for only using self-hosted tools.

3 Likes

Yes,GitLab.com is as evil as Micro$oft GitHub,they even lock out whole countries and discriminate Tor users by using Cloudflare without adding Tor to the whitelist.
Moving there would make the situation even worse.
But GitLab the software isn’t that bad,it can be selfhosted or used on community-hosted sites like https://gitgud.io
Personally I’m still not a big fan of GitLab,especially for its confusing UI,and would prefer Gerrit or Gitea.

Codeberg has a 100 repo limit for each organization. HaikuPorts and HaikuArchives might not even fit!