Conversation

This Tweet was deleted by the Tweet author. Learn more
Replying to and
PR isn’t really the right format for early rough ideas or experiments or “thinking out loud”, they are more a delivery mechanism. So having a review tool that is distinct from “push to main” that allows a more collaborative process would be better imo.
2
9
I really like Gerrit because it makes everyone feel as if they have commit access, even if they don't, because everyone just does `git push origin HEAD:refs/for/master` from their feature branch and has a branch in the main repository and a nice way to review / approve it.
1
2
You have people with approval access, and your choice of system for it, which could just be 1 approval including by the person who submitted it. Then, ideally, you have a nice CI bot that quickly tests + merges it within a couple minutes. Encourages linear history + always green.
1
This Tweet was deleted by the Tweet author. Learn more
Someone without commit access can't push to the main repository on GitHub. They have to make a remote fork of every project where they contribute. Even with commit access, you manage remote branches yourself. It also can't properly handle rebasing proposed changes even in 2021.
1
CI really doesn't work well there. The review interface is also really bad aside from getting completely screwed up by rebasing. They really should have adopted Change-Id and not been against the culture of requiring a sensible set of commits split up logically before applying.
1
For a long time, they actually actively sabotaged the review interface if you used that approach instead of keeping the whole history of the feature branch. They took an opinionated approach which was against how Git was actually designed / intended to be used by the developers.
1
This Tweet was deleted by the Tweet author. Learn more
This Tweet was deleted by the Tweet author. Learn more
GitHub just has a really painful workflow, where you accumulate endless cruft (obsolete old forks for each repository on your profile, all these old feature branches, etc.) which isn't cleanly separated (like Gerrit history) and it also doesn't preserve stuff properly.
1
1
So, with Gerrit, it's designed around rebasing. It tracks each commit across rebases. It preserves the history of the changes across the rebases. You can look back at the old revisions and the review on them. It's properly preserved and presented, not horribly broken like GitHub.
2
1
Show replies