On 06/03/12 20:20, Diederik van Liere wrote:
My concern is not about the UI of Gerrit, I know it's popular within WMF to say that it's UI sucks but I don't think that's the case and even if it was an issue it's only minor. People have already suggested that we might consider other code-review systems, I did a quick Google search and we are the only community considering migrating from Gerrit to Phabricator. I think this is besides the point: the real challenge is moving to a gated-trunk model, regardless of the chosen code-review tool. I cannot imagine other code-review tools that are also based on a gated-trunk model and work with Git are much easier than Gerrit. The complexity comes from the gated-trunk model, not from the tool.
Hmm. No. I understand that the UI when you have a change proposal, with 4 old alternatives, depending on several commits and other ones depending on it will need to be more complex than subversion. But when you look at a single diff it shouldn't be harder than our well-known Code Review.
The gated-trunk model means that, when you clone or pull from master, it might be the case that files relevant to you have been changed but that those new changes are waiting to be merged (the pull request backlog, AKA the code-review backlog).
Maybe there should be a way to fetch all commits pending in gerrit and show them to you inside git interface.
Suppose I clone master, but there are 10 commits waiting to be reviewed with files that are relevant to me. I am happily coding in my own local branch and after a while ready to commit. Meanwhile, those 10 commits have been reviewed and merged and now when I want to merge my branch back to master I get merge conflicts. Either I discover these merge conflicts when my branch is merged back to master or if I pull mid-way to update my local branch.
I'm more afraid that you commit and then we have 11 conflicting commits waiting for review. And noone to even notice about that until two months later. We will probably be in the situation where the same trivial fix is independently submitted by several developers, though.
I wonder, does gerrit allow you to rebase a commit to an older version from its interface? (I assume rebasing to a newer one is perfectly supported, as it'd be a cherry-pick)
- We need to come up with a smarter way determining how to approach
the code-review backlog. Three overall strategies come to mind: a) random, just pick a commit b) time-based picking (either the oldest or the youngest commit) c) 'impact' of commit
I don't think that's different than how we do it now. It's just that reviewing becomes more important.