tpotce/docker/tanner/snare/dist/pages/1/dab08757e7635a1a2333a728c5f65422

413 lines
33 KiB
Text
Raw Normal View History

2018-08-14 14:20:55 +00:00
<!DOCTYPE html>
<html class="" lang="en">
<head prefix="og: http://ogp.me/ns#">
<meta charset="utf-8"/>
<meta content="IE=edge" http-equiv="X-UA-Compatible"/>
<meta content="object" property="og:type"/>
<meta content="GitLab" property="og:site_name"/>
<meta content="Index · Discussions · User · Help" property="og:title"/>
<meta content="GitLab Community Edition" property="og:description"/>
<meta content="http://172.20.254.127/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="og:image"/>
<meta content="64" property="og:image:width"/>
<meta content="64" property="og:image:height"/>
<meta content="http://172.20.254.127/help/user/discussions/index.md" property="og:url"/>
<meta content="summary" property="twitter:card"/>
<meta content="Index · Discussions · User · Help" property="twitter:title"/>
<meta content="GitLab Community Edition" property="twitter:description"/>
<meta content="http://172.20.254.127/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="twitter:image"/>
<title>Index · Discussions · User · Help · GitLab</title>
<meta content="GitLab Community Edition" name="description"/>
<link data-original-href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" id="favicon" rel="shortcut icon" type="image/png"/>
<link href="/assets/application-266f2bfa52ff531258d13c702895a14fd5994ca591fa2df7338da00ab18c99ac.css" media="all" rel="stylesheet"/>
<link href="/assets/print-c8ff536271f8974b8a9a5f75c0ca25d2b8c1dceb4cff3c01d1603862a0bdcbfc.css" media="print" rel="stylesheet"/>
<script>
//<![CDATA[
window.gon={};gon.api_version="v4";gon.default_avatar_url="http://172.20.254.127/assets/no_avatar-849f9c04a3a0d0cea2424ae97b27447dc64a7dbfae83c036c45b403392f0e8ba.png";gon.max_file_size=10;gon.asset_host=null;gon.webpack_public_path="/assets/webpack/";gon.relative_url_root="";gon.shortcuts_path="/help/shortcuts";gon.user_color_scheme="white";gon.gitlab_url="http://172.20.254.127";gon.revision="63daf37";gon.gitlab_logo="/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png";gon.sprite_icons="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg";gon.sprite_file_icons="/assets/file_icons-7262fc6897e02f1ceaf8de43dc33afa5e4f9a2067f4f68ef77dcc87946575e9e.svg";gon.emoji_sprites_css_path="/assets/emoji_sprites-289eccffb1183c188b630297431be837765d9ff4aed6130cf738586fb307c170.css";gon.test_env=false;gon.suggested_label_colors=["#0033CC","#428BCA","#44AD8E","#A8D695","#5CB85C","#69D100","#004E00","#34495E","#7F8C8D","#A295D6","#5843AD","#8E44AD","#FFECDB","#AD4363","#D10069","#CC0033","#FF0000","#D9534F","#D1D100","#F0AD4E","#AD8D43"];
//]]>
</script>
<script defer="defer" src="/assets/webpack/runtime.9fcb75d4.bundle.js"></script>
<script defer="defer" src="/assets/webpack/main.a66b6c66.chunk.js"></script>
<script defer="defer" src="/assets/webpack/pages.help.show.c42c0700.chunk.js"></script>
<meta content="authenticity_token" name="csrf-param">
<meta content="EbKyCV1Rej5nadSnhIp450kjAhjA87C3Sm8tXqS0NlOSxHP9a21j5u+qM6YjJiocR4LnsuXH/C7SS1R50S7elg==" name="csrf-token">
<meta content="origin-when-cross-origin" name="referrer"/>
<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport"/>
<meta content="#474D57" name="theme-color"/>
<link href="/assets/touch-icon-iphone-5a9cee0e8a51212e70b90c87c12f382c428870c0ff67d1eb034d884b78d2dae7.png" rel="apple-touch-icon" type="image/x-icon"/>
<link href="/assets/touch-icon-ipad-a6eec6aeb9da138e507593b464fdac213047e49d3093fc30e90d9a995df83ba3.png" rel="apple-touch-icon" sizes="76x76" type="image/x-icon"/>
<link href="/assets/touch-icon-iphone-retina-72e2aadf86513a56e050e7f0f2355deaa19cc17ed97bbe5147847f2748e5a3e3.png" rel="apple-touch-icon" sizes="120x120" type="image/x-icon"/>
<link href="/assets/touch-icon-ipad-retina-8ebe416f5313483d9c1bc772b5bbe03ecad52a54eba443e5215a22caed2a16a2.png" rel="apple-touch-icon" sizes="152x152" type="image/x-icon"/>
<link color="rgb(226, 67, 41)" href="/assets/logo-d36b5212042cebc89b96df4bf6ac24e43db316143e89926c0db839ff694d2de4.svg" rel="mask-icon"/>
<meta content="/assets/msapplication-tile-1196ec67452f618d39cdd85e2e3a542f76574c071051ae7effbfde01710eb17d.png" name="msapplication-TileImage"/>
<meta content="#30353E" name="msapplication-TileColor"/>
</meta></meta></head>
<body class="ui-indigo " data-group="" data-page="help:show" data-project="">
<header class="navbar navbar-gitlab qa-navbar navbar-expand-sm">
<a class="sr-only gl-accessibility" href="#content-body" tabindex="1">Skip to content</a>
<div class="container-fluid">
<div class="header-content">
<div class="title-container">
<h1 class="title">
<a href="/" id="logo" title="Dashboard"><svg class="tanuki-logo" height="24" viewbox="0 0 36 36" width="24">
<path class="tanuki-shape tanuki-left-ear" d="M2 14l9.38 9v-9l-4-12.28c-.205-.632-1.176-.632-1.38 0z" fill="#e24329"></path>
<path class="tanuki-shape tanuki-right-ear" d="M34 14l-9.38 9v-9l4-12.28c.205-.632 1.176-.632 1.38 0z" fill="#e24329"></path>
<path class="tanuki-shape tanuki-nose" d="M18,34.38 3,14 33,14 Z" fill="#e24329"></path>
<path class="tanuki-shape tanuki-left-eye" d="M18,34.38 11.38,14 2,14 6,25Z" fill="#fc6d26"></path>
<path class="tanuki-shape tanuki-right-eye" d="M18,34.38 24.62,14 34,14 30,25Z" fill="#fc6d26"></path>
<path class="tanuki-shape tanuki-left-cheek" d="M2 14L.1 20.16c-.18.565 0 1.2.5 1.56l17.42 12.66z" fill="#fca326"></path>
<path class="tanuki-shape tanuki-right-cheek" d="M34 14l1.9 6.16c.18.565 0 1.2-.5 1.56L18 34.38z" fill="#fca326"></path>
</svg>
<span class="logo-text d-none d-sm-block">
<svg viewbox="0 0 617 169" xmlns="http://www.w3.org/2000/svg"><path d="M315.26 2.97h-21.8l.1 162.5h88.3v-20.1h-66.5l-.1-142.4M465.89 136.95c-5.5 5.7-14.6 11.4-27 11.4-16.6 0-23.3-8.2-23.3-18.9 0-16.1 11.2-23.8 35-23.8 4.5 0 11.7.5 15.4 1.2v30.1h-.1m-22.6-98.5c-17.6 0-33.8 6.2-46.4 16.7l7.7 13.4c8.9-5.2 19.8-10.4 35.5-10.4 17.9 0 25.8 9.2 25.8 24.6v7.9c-3.5-.7-10.7-1.2-15.1-1.2-38.2 0-57.6 13.4-57.6 41.4 0 25.1 15.4 37.7 38.7 37.7 15.7 0 30.8-7.2 36-18.9l4 15.9h15.4v-83.2c-.1-26.3-11.5-43.9-44-43.9M557.63 149.1c-8.2 0-15.4-1-20.8-3.5V70.5c7.4-6.2 16.6-10.7 28.3-10.7 21.1 0 29.2 14.9 29.2 39 0 34.2-13.1 50.3-36.7 50.3m9.2-110.6c-19.5 0-30 13.3-30 13.3v-21l-.1-27.8h-21.3l.1 158.5c10.7 4.5 25.3 6.9 41.2 6.9 40.7 0 60.3-26 60.3-70.9-.1-35.5-18.2-59-50.2-59M77.9 20.6c19.3 0 31.8 6.4 39.9 12.9l9.4-16.3C114.5 6 97.3 0 78.9 0 32.5 0 0 28.3 0 85.4c0 59.8 35.1 83.1 75.2 83.1 20.1 0 37.2-4.7 48.4-9.4l-.5-63.9V75.1H63.6v20.1h38l.5 48.5c-5 2.5-13.6 4.5-25.3 4.5-32.2 0-53.8-20.3-53.8-63-.1-43.5 22.2-64.6 54.9-64.6M231.43 2.95h-21.3l.1 27.3v94.3c0 26.3 11.4 43.9 43.9 43.9 4.5 0 8.9-.4 13.1-1.2v-19.1c-3.1.5-6.4.7-9.9.7-17.9 0-25.8-9.2-25.8-24.6v-65h35.7v-17.8h-35.7l-.1-38.5M155.96 165.47h21.3v-124h-21.3v124M155.96 24.37h21.3V3.07h-21.3v21.3"></path></svg>
</span>
</a></h1>
<ul class="list-unstyled navbar-sub-nav">
<li class="home"><a class="dashboard-shortcuts-projects" href="/explore" title="Projects">Projects
</a></li><li class=""><a class="dashboard-shortcuts-groups" href="/explore/groups" title="Groups">Groups
</a></li><li class=""><a class="dashboard-shortcuts-snippets" href="/explore/snippets" title="Snippets">Snippets
</a></li><li>
<a href="/help" title="About GitLab CE">Help</a>
</li>
</ul>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="nav-item d-none d-sm-none d-md-block m-auto">
<div class="search search-form">
<form accept-charset="UTF-8" action="/search" class="form-inline" method="get"><input name="utf8" type="hidden" value="✓"/><div class="search-input-container">
<div class="search-input-wrap">
<div class="dropdown" data-url="/search/autocomplete">
<input aria-label="Search" autocomplete="off" class="search-input dropdown-menu-toggle no-outline js-search-dashboard-options" data-issues-path="/dashboard/issues" data-mr-path="/dashboard/merge_requests" id="search" name="search" placeholder="Search" spellcheck="false" tabindex="1" type="search"/>
<button class="hidden js-dropdown-search-toggle" data-toggle="dropdown" type="button"></button>
<div class="dropdown-menu dropdown-select">
<div class="dropdown-content"><ul>
<li class="dropdown-menu-empty-item">
<a>
Loading...
</a>
</li>
</ul>
</div><div class="dropdown-loading"><i aria-hidden="true" class="fa fa-spinner fa-spin" data-hidden="true"></i></div>
</div>
<svg class="s16 search-icon"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#search"></use></svg>
<svg class="s16 clear-icon js-clear-input"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#close"></use></svg>
</div>
</div>
</div>
<input class="js-search-group-options" id="group_id" name="group_id" type="hidden"/>
<input class="js-search-project-options" id="search_project_id" name="project_id" type="hidden" value=""/>
<input id="repository_ref" name="repository_ref" type="hidden"/>
<div class="search-autocomplete-opts hide" data-autocomplete-path="/search/autocomplete"></div>
</form></div>
</li>
<li class="nav-item d-inline-block d-sm-none d-md-none">
<a aria-label="Search" data-container="body" data-placement="bottom" data-toggle="tooltip" href="/search" title="Search"><svg class="s16"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#search"></use></svg>
</a></li>
<li class="nav-item">
<div>
<a class="btn btn-sign-in" href="/users/sign_in?redirect_to_referer=yes">Sign in / Register</a>
</div>
</li>
</ul>
</div>
<button class="navbar-toggler d-block d-sm-none" type="button">
<span class="sr-only">Toggle navigation</span>
<svg class="s12 more-icon js-navbar-toggle-right"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#more"></use></svg>
<svg class="s12 close-icon js-navbar-toggle-left"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#close"></use></svg>
</button>
</div>
</div>
</header>
<div class="layout-page">
<div class="content-wrapper">
<div class="mobile-overlay"></div>
<div class="alert-wrapper">
<nav class="breadcrumbs container-fluid container-limited" role="navigation">
<div class="breadcrumbs-container">
<div class="breadcrumbs-links js-title-container">
<ul class="list-unstyled breadcrumbs-list js-breadcrumbs-list">
<li><a href="/help">Help</a><svg class="s8 breadcrumbs-list-angle"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#angle-right"></use></svg></li>
<li>
<h2 class="breadcrumbs-sub-title"><a href="/help/user/discussions/index.md">Help</a></h2>
</li>
</ul>
</div>
</div>
</nav>
<div class="flash-container flash-container-page">
</div>
</div>
<div class="container-fluid container-limited ">
<div class="content" id="content-body">
<div class="documentation wiki prepend-top-default">
<h1 dir="auto">
<a aria-hidden="true" class="anchor" href="#discussions" id="user-content-discussions"></a>Discussions</h1>
<p dir="auto">The ability to contribute conversationally is offered throughout GitLab.</p>
<p dir="auto">You can leave a comment in the following places:</p>
<ul dir="auto">
<li>issues</li>
<li>merge requests</li>
<li>snippets</li>
<li>commits</li>
<li>commit diffs</li>
</ul>
<p dir="auto">The comment area supports <a href="/markdown.md">Markdown</a> and <a href="/project/quick_actions.md">quick actions</a>. One can edit their
own comment at any time, and anyone with <a href="/permissions.md">Maintainer access level</a> or
higher can also edit a comment made by someone else.</p>
<p dir="auto">You could also reply to the notification email in order to reply to a comment,
provided that <a href="/administration/reply_by_email.md">Reply by email</a> is configured by your GitLab admin. This also
supports <a href="/markdown.md">Markdown</a> and <a href="/project/quick_actions.md">quick actions</a> as if replied from the web.</p>
<p dir="auto">Apart from the standard comments, you also have the option to create a comment
in the form of a resolvable or threaded discussion.</p>
<h2 dir="auto">
<a aria-hidden="true" class="anchor" href="#resolvable-discussions" id="user-content-resolvable-discussions"></a>Resolvable discussions</h2>
<blockquote dir="auto">
<p><strong>Notes:</strong></p>
</blockquote>
<ul dir="auto">
<li>The main feature was <a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5022" rel="nofollow noreferrer noopener" target="_blank">introduced</a> in GitLab 8.11.</li>
<li>Resolvable discussions can be added only to merge request diffs.</li>
</ul>
<p dir="auto">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.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/discussion_view.png" rel="noopener noreferrer" target="_blank"><img alt='"A discussion between two people on a piece of code"' class="lazy" data-src="img/discussion_view.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<p dir="auto">Comments and discussions can be resolved by anyone with at least Developer
access to the project or the author of the merge request.</p>
<h3 dir="auto">
<a aria-hidden="true" class="anchor" href="#commit-discussions-in-the-context-of-a-merge-request" id="user-content-commit-discussions-in-the-context-of-a-merge-request"></a>Commit discussions in the context of a merge request</h3>
<blockquote dir="auto">
<p><a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/31847" rel="nofollow noreferrer noopener" target="_blank">Introduced</a> in GitLab 10.3.</p>
</blockquote>
<p dir="auto">For reviewers with commit-based workflow, it may be useful to add discussions to
specific commit diffs in the context of a merge request. These discussions will
persist through a commit ID change when:</p>
<ul dir="auto">
<li>force-pushing after a rebase</li>
<li>amending a commit</li>
</ul>
<p dir="auto">To create a commit diff discussion:</p>
<ol dir="auto">
<li>
<p>Navigate to the merge request <strong>Commits</strong> tab. A list of commits that
constitute the merge request will be shown.</p>
<p><a class="no-attachment-icon" href="/img/merge_request_commits_tab.png" rel="noopener noreferrer" target="_blank"><img alt="Merge request commits tab" class="lazy" data-src="img/merge_request_commits_tab.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
</li>
<li>
<p>Navigate to a specific commit, click on the <strong>Changes</strong> tab (where you
will only be presented diffs from the selected commit), and leave a comment.</p>
<p><a class="no-attachment-icon" href="/img/commit_comment_mr_context.png" rel="noopener noreferrer" target="_blank"><img alt="Commit diff discussion in merge request context" class="lazy" data-src="img/commit_comment_mr_context.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
</li>
<li>
<p>Any discussions created this way will be shown in the merge request's
<strong>Discussions</strong> tab and are resolvable.</p>
<p><a class="no-attachment-icon" href="/img/commit_comment_mr_discussions_tab.png" rel="noopener noreferrer" target="_blank"><img alt="Merge request Discussions tab" class="lazy" data-src="img/commit_comment_mr_discussions_tab.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
</li>
</ol>
<p dir="auto">Discussions created this way will only appear in the original merge request
and not when navigating to that commit under your project's
<strong>Repository &gt; Commits</strong> page.</p>
<p dir="auto">TIP: <strong>Tip:</strong>
When a link of a commit reference is found in a discussion inside a merge
request, it will be automatically converted to a link in the context of the
current merge request.</p>
<h3 dir="auto">
<a aria-hidden="true" class="anchor" href="#jumping-between-unresolved-discussions" id="user-content-jumping-between-unresolved-discussions"></a>Jumping between unresolved discussions</h3>
<p dir="auto">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.</p>
<p dir="auto">You can also jump to the first unresolved discussion from the button next to the
resolved discussions tracker.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/discussions_resolved.png" rel="noopener noreferrer" target="_blank"><img alt='"3/4 discussions resolved"' class="lazy" data-src="img/discussions_resolved.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<h3 dir="auto">
<a aria-hidden="true" class="anchor" href="#marking-a-comment-or-discussion-as-resolved" id="user-content-marking-a-comment-or-discussion-as-resolved"></a>Marking a comment or discussion as resolved</h3>
<p dir="auto">You can mark a discussion as resolved by clicking the <strong>Resolve discussion</strong>
button at the bottom of the discussion.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/resolve_discussion_button.png" rel="noopener noreferrer" target="_blank"><img alt='"Resolve discussion" button' class="lazy" data-src="img/resolve_discussion_button.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<p dir="auto">Alternatively, you can mark each comment as resolved individually.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/resolve_comment_button.png" rel="noopener noreferrer" target="_blank"><img alt='"Resolve comment" button' class="lazy" data-src="img/resolve_comment_button.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<h3 dir="auto">
<a aria-hidden="true" class="anchor" href="#move-all-unresolved-discussions-in-a-merge-request-to-an-issue" id="user-content-move-all-unresolved-discussions-in-a-merge-request-to-an-issue"></a>Move all unresolved discussions in a merge request to an issue</h3>
<blockquote dir="auto">
<p><a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/8266" rel="nofollow noreferrer noopener" target="_blank">Introduced</a> in GitLab 9.1</p>
</blockquote>
<p dir="auto">To continue all open discussions from a merge request in a new issue, click the
<strong>Resolve all discussions in new issue</strong> button.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/btn_new_issue_for_all_discussions.png" rel="noopener noreferrer" target="_blank"><img alt="Open new issue for all unresolved discussions" class="lazy" data-src="img/btn_new_issue_for_all_discussions.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<p dir="auto">Alternatively, when your project only accepts merge requests <a href="#only-allow-merge-requests-to-be-merged-if-all-discussions-are-resolved">when all discussions
are resolved</a>,
there will be an <strong>open an issue to resolve them later</strong> link in the merge
request widget.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/resolve_discussion_open_issue.png" rel="noopener noreferrer" target="_blank"><img alt="Link in merge request widget" class="lazy" data-src="img/resolve_discussion_open_issue.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<p dir="auto">This will prepare an issue with its content referring to the merge request and
the unresolved discussions.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/preview_issue_for_discussions.png" rel="noopener noreferrer" target="_blank"><img alt="Issue mentioning discussions in a merge request" class="lazy" data-src="img/preview_issue_for_discussions.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<p dir="auto">Hitting <strong>Submit issue</strong> will cause all discussions to be marked as resolved and
add a note referring to the newly created issue.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/resolve_discussion_issue_notice.png" rel="noopener noreferrer" target="_blank"><img alt="Mark discussions as resolved notice" class="lazy" data-src="img/resolve_discussion_issue_notice.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<p dir="auto">You can now proceed to merge the merge request from the UI.</p>
<h3 dir="auto">
<a aria-hidden="true" class="anchor" href="#moving-a-single-discussion-to-a-new-issue" id="user-content-moving-a-single-discussion-to-a-new-issue"></a>Moving a single discussion to a new issue</h3>
<blockquote dir="auto">
<p><a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/8266" rel="nofollow noreferrer noopener" target="_blank">Introduced</a> in GitLab 9.1</p>
</blockquote>
<p dir="auto">To create a new issue for a single discussion, you can use the <strong>Resolve this
discussion in a new issue</strong> button.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/new_issue_for_discussion.png" rel="noopener noreferrer" target="_blank"><img alt="Create issue for discussion" class="lazy" data-src="img/new_issue_for_discussion.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<p dir="auto">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.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/preview_issue_for_discussion.png" rel="noopener noreferrer" target="_blank"><img alt="New issue for a single discussion" class="lazy" data-src="img/preview_issue_for_discussion.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<h3 dir="auto">
<a aria-hidden="true" class="anchor" href="#only-allow-merge-requests-to-be-merged-if-all-discussions-are-resolved" id="user-content-only-allow-merge-requests-to-be-merged-if-all-discussions-are-resolved"></a>Only allow merge requests to be merged if all discussions are resolved</h3>
<blockquote dir="auto">
<p><a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7125" rel="nofollow noreferrer noopener" target="_blank">Introduced</a> in GitLab 8.14.</p>
</blockquote>
<p dir="auto">You can prevent merge requests from being merged until all discussions are
resolved.</p>
<p dir="auto">Navigate to your project's settings page, select the
<strong>Only allow merge requests to be merged if all discussions are resolved</strong> check
box and hit <strong>Save</strong> for the changes to take effect.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/only_allow_merge_if_all_discussions_are_resolved.png" rel="noopener noreferrer" target="_blank"><img alt="Only allow merge if all the discussions are resolved settings" class="lazy" data-src="img/only_allow_merge_if_all_discussions_are_resolved.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<p dir="auto">From now on, you will not be able to merge from the UI until all discussions
are resolved.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/only_allow_merge_if_all_discussions_are_resolved_msg.png" rel="noopener noreferrer" target="_blank"><img alt="Only allow merge if all the discussions are resolved message" class="lazy" data-src="img/only_allow_merge_if_all_discussions_are_resolved_msg.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<h3 dir="auto">
<a aria-hidden="true" class="anchor" href="#automatically-resolve-merge-request-diff-discussions-when-they-become-outdated" id="user-content-automatically-resolve-merge-request-diff-discussions-when-they-become-outdated"></a>Automatically resolve merge request diff discussions when they become outdated</h3>
<blockquote dir="auto">
<p><a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/14053" rel="nofollow noreferrer noopener" target="_blank">Introduced</a> in GitLab 10.0.</p>
</blockquote>
<p dir="auto">You can automatically resolve merge request diff discussions on lines modified
with a new push.</p>
<p dir="auto">Navigate to your project's settings page, select the <strong>Automatically resolve
merge request diffs discussions on lines changed with a push</strong> check box and hit
<strong>Save</strong> for the changes to take effect.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/automatically_resolve_outdated_discussions.png" rel="noopener noreferrer" target="_blank"><img alt="Automatically resolve merge request diff discussions when they become outdated" class="lazy" data-src="img/automatically_resolve_outdated_discussions.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<p dir="auto">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.</p>
<h2 dir="auto">
<a aria-hidden="true" class="anchor" href="#commit-discussions" id="user-content-commit-discussions"></a>Commit discussions</h2>
<p dir="auto">You can add comments and discussion threads to a particular commit under your
project's <strong>Repository &gt; Commits</strong>.</p>
<p dir="auto">CAUTION: <strong>Attention:</strong>
Discussions created this way will be lost if the commit ID changes after a
force push.</p>
<h2 dir="auto">
<a aria-hidden="true" class="anchor" href="#threaded-discussions" id="user-content-threaded-discussions"></a>Threaded discussions</h2>
<blockquote dir="auto">
<p><a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7527" rel="nofollow noreferrer noopener" target="_blank">Introduced</a> in GitLab 9.1.</p>
</blockquote>
<p dir="auto">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.</p>
<p dir="auto">To start a threaded discussion, click on the <strong>Comment</strong> button toggle dropdown,
select <strong>Start discussion</strong> and click <strong>Start discussion</strong> when you're ready to
post the comment.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/comment_type_toggle.gif" rel="noopener noreferrer" target="_blank"><img alt="Comment type toggle" class="lazy" data-src="img/comment_type_toggle.gif" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<p dir="auto">This will post a comment with a single thread to allow you to discuss specific
comments in greater detail.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/discussion_comment.png" rel="noopener noreferrer" target="_blank"><img alt="Discussion comment" class="lazy" data-src="img/discussion_comment.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<h2 dir="auto">
<a aria-hidden="true" class="anchor" href="#image-discussions" id="user-content-image-discussions"></a>Image discussions</h2>
<blockquote dir="auto">
<p><a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/14061" rel="nofollow noreferrer noopener" target="_blank">Introduced</a> in GitLab 10.1.</p>
</blockquote>
<p dir="auto">Sometimes a discussion is revolved around an image. With image discussions,
you can easily target a specific coordinate of an image and start a discussion
around it. Image discussions are available in merge requests and commit detail views.</p>
<p dir="auto">To start an image discussion, hover your mouse over the image. Your mouse pointer
should convert into an icon, indicating that the image is available for commenting.
Simply click anywhere on the image to create a new discussion.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/start_image_discussion.gif" rel="noopener noreferrer" target="_blank"><img alt="Start image discussion" class="lazy" data-src="img/start_image_discussion.gif" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<p dir="auto">After you click on the image, a comment form will be displayed that would be the start
of your discussion. Once you save your comment, you will see a new badge displayed on
top of your image. This badge represents your discussion.</p>
<blockquote dir="auto">
<p><strong>Note:</strong>
This discussion badge is typically associated with a number that is only used as a visual
reference for each discussion. In the merge request discussion tab,
this badge will be indicated with a comment icon since each discussion will render a new
image section.</p>
</blockquote>
<p dir="auto">Image discussions also work on diffs that replace an existing image. In this diff view
mode, you can toggle the different view modes and still see the discussion point badges.</p>
<table dir="auto">
<thead>
<tr>
<th align="center">2-up</th>
<th align="center">Swipe</th>
<th align="center">Onion Skin</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center"><a class="no-attachment-icon" href="/img/two_up_view.png" rel="noopener noreferrer" target="_blank"><img alt="2-up view" class="lazy" data-src="img/two_up_view.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></td>
<td align="center"><a class="no-attachment-icon" href="/img/swipe_view.png" rel="noopener noreferrer" target="_blank"><img alt="swipe view" class="lazy" data-src="img/swipe_view.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></td>
<td align="center"><a class="no-attachment-icon" href="/img/onion_skin_view.png" rel="noopener noreferrer" target="_blank"><img alt="onion skin view" class="lazy" data-src="img/onion_skin_view.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></td>
</tr>
</tbody>
</table>
<p dir="auto">Image discussions also work well with resolvable discussions. Resolved discussions
on diffs (not on the merge request discussion tab) will appear collapsed on page
load and will have a corresponding badge counter to match the counter on the image.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/image_resolved_discussion.png" rel="noopener noreferrer" target="_blank"><img alt="Image resolved discussion" class="lazy" data-src="img/image_resolved_discussion.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<h2 dir="auto">
<a aria-hidden="true" class="anchor" href="#lock-discussions" id="user-content-lock-discussions"></a>Lock discussions</h2>
<blockquote dir="auto">
<p><a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/14531" rel="nofollow noreferrer noopener" target="_blank">Introduced</a> in GitLab 10.1.</p>
</blockquote>
<p dir="auto">For large projects with many contributors, it may be useful to stop discussions
in issues or merge requests in these scenarios:</p>
<ul dir="auto">
<li>The project maintainer has already resolved the discussion and it is not helpful
for continued feedback. The project maintainer has already directed new conversation
to newer issues or merge requests.</li>
<li>The people participating in the discussion are trolling, abusive, or otherwise
being unproductive.</li>
</ul>
<p dir="auto">In these cases, a user with Maintainer permissions or higher in the project can lock (and unlock)
an issue or a merge request, using the "Lock" section in the sidebar:</p>
<table dir="auto">
<thead>
<tr>
<th align="center">Unlock</th>
<th align="center">Lock</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center"><a class="no-attachment-icon" href="/img/turn_off_lock.png" rel="noopener noreferrer" target="_blank"><img alt="Turn off discussion lock" class="lazy" data-src="img/turn_off_lock.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></td>
<td align="center"><a class="no-attachment-icon" href="/img/turn_on_lock.png" rel="noopener noreferrer" target="_blank"><img alt="Turn on discussion lock" class="lazy" data-src="img/turn_on_lock.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></td>
</tr>
</tbody>
</table>
<p dir="auto">System notes indicate locking and unlocking.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/discussion_lock_system_notes.png" rel="noopener noreferrer" target="_blank"><img alt="Discussion lock system notes" class="lazy" data-src="img/discussion_lock_system_notes.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<p dir="auto">In a locked issue or merge request, only team members can add new comments and
edit existing comments. Non-team members are restricted from adding or editing comments.</p>
<table dir="auto">
<thead>
<tr>
<th align="center">Team member</th>
<th align="center">Non-team member</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center"><a class="no-attachment-icon" href="/img/lock_form_member.png" rel="noopener noreferrer" target="_blank"><img alt="Comment form member" class="lazy" data-src="img/lock_form_member.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></td>
<td align="center"><a class="no-attachment-icon" href="/img/lock_form_non_member.png" rel="noopener noreferrer" target="_blank"><img alt="Comment form non-member" class="lazy" data-src="img/lock_form_non_member.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</body>
</html>