The ability to contribute conversationally is offered throughout GitLab.
You can leave a comment in the following places:
- merge requests
- commit diffs
Apart from the standard comments, you also have the option to create a comment in the form of a resolvable or threaded discussion.
- The main feature was introduced in GitLab 8.11.
- Resolvable discussions can be added only to merge request diffs.
Discussion resolution helps keep track of progress during planning or code review. Resolving comments prevents you from forgetting to address feedback and lets you hide discussions that are no longer relevant.
Comments and discussions can be resolved by anyone with at least Developer access to the project or the author of the merge request.
Jumping between unresolved discussions
When a merge request has a large number of comments it can be difficult to track what remains unresolved. You can jump between unresolved discussions with the Jump button next to the Reply field on a discussion.
You can also jump to the first unresolved discussion from the button next to the resolved discussions tracker.
Marking a comment or discussion as resolved
You can mark a discussion as resolved by clicking the Resolve discussion button at the bottom of the discussion.
Alternatively, you can mark each comment as resolved individually.
Move all unresolved discussions in a merge request to an issue
Introduced in GitLab 9.1
To continue all open discussions from a merge request in a new issue, click the Resolve all discussions in new issue button.
Alternatively, when your project only accepts merge requests when all discussions are resolved, there will be an open an issue to resolve them later link in the merge request widget.
This will prepare an issue with its content referring to the merge request and the unresolved discussions.
Hitting Submit issue will cause all discussions to be marked as resolved and add a note referring to the newly created issue.
You can now proceed to merge the merge request from the UI.
Moving a single discussion to a new issue
Introduced in GitLab 9.1
To create a new issue for a single discussion, you can use the Resolve this discussion in a new issue button.
This will direct you to a new issue prefilled with the content of the discussion, similar to the issues created for delegating multiple discussions at once. Saving the issue will mark the discussion as resolved and add a note to the merge request discussion referencing the new issue.
Only allow merge requests to be merged if all discussions are resolved
Introduced in GitLab 8.14.
You can prevent merge requests from being merged until all discussions are resolved.
Navigate to your project's settings page, select the Only allow merge requests to be merged if all discussions are resolved check box and hit Save for the changes to take effect.
From now on, you will not be able to merge from the UI until all discussions are resolved.
Automatically resolve merge request diff discussions when they become outdated
Introduced in GitLab 10.0.
You can automatically resolve merge request diff discussions on lines modified with a new push.
Navigate to your project's settings page, select the Automatically resolve merge request diffs discussions on lines changed with a push check box and hit Save for the changes to take effect.
From now on, any discussions on a diff will be resolved by default if a push makes that diff section outdated. Discussions on lines that don't change and top-level resolvable discussions are not automatically resolved.
Introduced in GitLab 9.1.
While resolvable discussions are only available to merge request diffs, discussions can also be added without a diff. You can start a specific discussion which will look like a thread, on issues, commits, snippets, and merge requests.
To start a threaded discussion, click on the Comment button toggle dropdown, select Start discussion and click Start discussion when you're ready to post the comment.
This will post a comment with a single thread to allow you to discuss specific comments in greater detail.