Live data from Hacker News

Maiao: Gerrit-style code review workflow for GitHub, GitLab, Gitea, others

github.com

31–40 of 72 posts

Re: Maiao: Gerrit-style code review workflow for GitHub, GitLab, Gitea, others

#31
post #16

The repo seems to move from "adevinta" (a well known company in the EU tech) to "runetes". Anyone to tell us the story?

Hi! One of maiao's maintainers here, and ex-Adevinta.

tl;dr: Adevinta got bought by a Private Equity consortium [1]. Since then, the fund did many changes, and layoffs. All of the original creators/maintainers don't work there anymore.

Runetes is just an umbrella org for some OSS we created there.

1 - https://adevinta.com/press-releases/permira-and-blackstone-a...

Re: Maiao: Gerrit-style code review workflow for GitHub, GitLab, Gitea, others

#32

IME juniors struggle with making single commits in the first place. What I usually see is a scatter brained approach with more "fix" commits than anything else. This doesn't help with that, does it?

It means you can comment on the problematic commits saying "please squash this". Then (if it works as well as Gerrit) you can compare the commit between the before and after squash state.

Basically it lets you treat the commits as part of the thing you are reviewing instead of just a minor detail that the UI doesn't care about very much.

Re: Maiao: Gerrit-style code review workflow for GitHub, GitLab, Gitea, others

#33
post #2

Does it use Github's new stacked PR feature? Edit: apparently stacked PRs on GH are older than I thought; the readme references a 2024 blog post about it.

Hi! Maintainer here.

In short: maiao supported stacked PRs on GH, before it existed as a feature :) Now that it's exists (beta), it simply does "progressive enhancement" and adds the PRs to the native stack. But you could still perfectly function without it. That's how maiao works on Codeberg, and Bitbucket, for instance.

GiLab has an interesting approach where they auto-stack up until 20 Merge Requests, if they're chained.

Re: Maiao: Gerrit-style code review workflow for GitHub, GitLab, Gitea, others

#34
post #15

Is it compatible with jujutsu?

I'm not familiar with jujutsu. Maiao is fully git-compatible and the idea is to

a) Not create new API/commands on top of it. Everything works with the normal "git commit".

b) Progressively enhance the user experience. Each commit becomes a PR stacked atop each other. It auto-rebases if the base changes, and so on.

Re: Maiao: Gerrit-style code review workflow for GitHub, GitLab, Gitea, others

#35

As someone who much prefers Gerrit's UI/UX over GitHub's UI, I was disappointed that this wasn't replicating the UI for GH reviews. Edit: Just to be clear, this is not a blemish on this project. More a lament and a wish someone would create such a thing for those of us forced to leave Gerrit behind for... GitHub. =/

Hi! Maintainer here :) I think some projects already try that. The main goal of maiao is to progressively enhance GitHub with stacked PRs (1 commit = 1 PR) and create as little new API/UI surface as possible. That's why we don't have a `maiao new stack` command. Everything just runs atop normal git with a bit of `git rebase` and automation around GitHub's API. I hope it clarifies the intent.

Re: Maiao: Gerrit-style code review workflow for GitHub, GitLab, Gitea, others

#36

Who is creating a separate PR for each commit on their feature/fix branch? sounds like crazy town. I just dont understand why someone would operate like this. Lets assume you're squash merging your feature branchs to your local main, then you're raising the them as prs. why would you do this?

You wouldn't. Imagine you have more than one of what you are calling a "feature/fix branch" and they depend on each other.

Re: Maiao: Gerrit-style code review workflow for GitHub, GitLab, Gitea, others

#37
post #15

Is it compatible with jujutsu?

I'm not familiar with jujutsu. Maiao is fully git-compatible and the idea is to a) Not create new API/commands on top of it. Everything works with the normal "git commit". b) Progressively enhance the user experience. Each commit becomes a PR stacked atop each other. It auto-rebases if the base changes, and so on.

Probably worth looking into. It provides most of the machinery here on the version control side.

Re: Maiao: Gerrit-style code review workflow for GitHub, GitLab, Gitea, others

#38
post #18
post #13

Earlier quoted context omitted.

If your PR has more than one commit, each one should be deployable in isolation. Which means you can split your giant PR into smaller ones that can be reviewed independently.

I’ve worked under both systems, but isn’t the purity you’re describing a bit of a dodge in that you wind up force pushing amended commits when you find you forgot something?

People say they care about the "story" behind the PR. But no one cares about that story if it's about forgetting to fix a test and a typo in a comment.

The extra commits are just noise that make you think the original commit is a source of truth in a blame when it has been amended 3 times more in the same PR, but the link isn't apparent anymore.

Force pushing is bad to a published branch, not a feature branch (not that you really have force pushes in Gerrit anyway). There are versions of Gerrit tooling where you can have a branch as dirty as you want locally, but only the final aggregated change is visible for review of that's what you prefer too.

Re: Maiao: Gerrit-style code review workflow for GitHub, GitLab, Gitea, others

#39

IME juniors struggle with making single commits in the first place. What I usually see is a scatter brained approach with more "fix" commits than anything else. This doesn't help with that, does it?

The Juniors are also very good with AI. Having them merge bad commits into logical ones is a fine operation for them too.

Re: Maiao: Gerrit-style code review workflow for GitHub, GitLab, Gitea, others

#40
post #9

Who is creating a separate PR for each commit on their feature/fix branch? sounds like crazy town. I just dont understand why someone would operate like this. Lets assume you're squash merging your feature branchs to your local main, then you're raising the them as prs. why would you do this?

Why would you have more than one commit for a PR? That sounds like crazy town.

A PR is a collection of commits?

Integration into main ideally is squashed down to a single merge commit though.

It shouldn't matter how many commits a pr takes to from 0 to finished

Post reply on HN