Make merge request UI more like Upsource
We had some users try out Upsource because they were unhappy with the merge request UI in GitLab. The merge request UI is actually one of the most common complaints we hear from all our users.
These particular users really liked the Upsource UI so I wanted to share features they liked about Upsource to help inform improvements for GitLab's MR UI:
- File navigation is way better, especially for large MRs with many files. It behaves like IDE – you click a file, you see it’s contents and nothing else.
- Smarter diff, especially regarding small changes only in a part of one row.
- The overall review workflow is way better. Let’s say I have some comments on a MR, I write them and I click “Raise concern”. 4. The author of the MR updates the code according to my comments and pushes the changes. Now, when I open the code review, I see only changes from the last version I reviewed by default. I can switch to see all the changes if I want. This is possible in GitLab as well, but I need to pick the revisions manually in a very awkward way. Comments have better visibility across various versions of the MR.
- Related – if one of the commits in the MR is some big ugly refactoring, I can just hide that one commit from the diff and only see the relevant changes. This is not possible in Gitlab.
- The IDE integration is superb, at least for JetBrains IDEs. I can see the comments right in my IDE, I can respond to them, fix the respective parts of the code, test and push, all without leaving IDE. The same applies for reviewing the code and writing comments straight from IDE (although the added value here is not as big as in the first case).
- Gitlab integration works great (with the exceptions mentioned in the next section), so it’s possible to use Gitlab and Upsource for reviewing in parallel. E.g. one dev can use Gitlab if they prefer and the rest of the squad can use Upsource and they see each other’s comments. This makes it very non-invasive in our process.