Make MR per-commit discussions more consistent with Changes discussions
Description
Our organization has an established code review process where review issues (roughly equivalent to a MR discussions) are normally raised against specific commits. In our proprietary (and very simple) code review tool, we raise such issues by referencing the commit title at the top of the review issue. It's less than ideal, but it gets the job done. In addition, our review issues require sign-off by all involved parties (the author and one or more reviewers) before they are considered resolved.
We're likely replacing our proprietary tool with GitLab and are very interested in per-commit discussions. However, in their current form, they are largely unusable by us:
- Per-commit discussions disappear from the MR discussion stream when the commit hash is no longer part of MR branch.
- There is no "Resolve discussion" workflow for per-commit discussions.
Proposal
Making per-commit discussions more like Changes discussions would vastly increase their utility for us. Here's our proposed list of changes, roughly in order of highest utility to lowest (though the first two are necessary to us):
- Like Changes discussions, keep commit discussions and their related code snippets (if applicable) in the associated MR discussion stream.
- The link back to the original commit that the discussion was raised against should remain.
- Add a "Resolve discussion" workflow to commit discussions.
- Enhance the commit matching logic to allow a commit discussion to survive (some) rebases. For example, attempt to match against commit title and line contents instead of just the commit hash.
- This allows multiple reviewers to find existing discussion easier - i.e., it reduces duplicate discussions for the same issues.
~"feature proposal"