summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_conflicts.js
blob: 5d468a085cbc0bd36be945a52c8bf606ed48f110 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import statusIcon from '../mr_widget_status_icon';

export default {
  name: 'MRWidgetConflicts',
  props: {
    mr: { type: Object, required: true },
  },
  components: {
    statusIcon,
  },
  template: `
    <div class="mr-widget-body media">
      <status-icon
        status="failed"
        :show-disabled-button="true" />
      <div class="media-body space-children">
        <span
          v-if="mr.shouldBeRebased"
          class="bold">
          Fast-forward merge is not possible.
          To merge this request, first rebase locally.
        </span>
        <template v-else>
          <span class="bold">
            There are merge conflicts<span v-if="!mr.canMerge">.</span>
            <span v-if="!mr.canMerge">
              Resolve these conflicts or ask someone with write access to this repository to merge it locally
            </span>
          </span>
          <a
            v-if="mr.canMerge && mr.conflictResolutionPath"
            :href="mr.conflictResolutionPath"
            class="js-resolve-conflicts-button btn btn-default btn-xs">
            Resolve conflicts
          </a>
          <a
            v-if="mr.canMerge"
            class="js-merge-locally-button btn btn-default btn-xs"
            data-toggle="modal"
            href="#modal_merge_info">
            Merge locally
          </a>
        </template>
      </div>
    </div>
  `,
};