{{define "width"}}{{if eq .View "diff"}}wide{{else}}reading{{end}}{{end}} {{define "title"}}!{{.MR.Number}} · {{.Repo.OwnerName}}/{{.Repo.Name}}{{end}} {{define "content"}} {{$base := printf "/%s/%s/mrs/%d" .Repo.OwnerName .Repo.Name .MR.Number}}

{{.MR.Title}} !{{.MR.Number}}

{{if eq .MR.State "source_gone"}}source gone{{else}}{{.MR.State}}{{end}}{{if .MR.Draft}} draft{{end}} {{if and (eq .MR.State "merged") .MR.MergedBy}}merged by {{.MR.MergedBy}}{{with .MR.MergedAt}} on {{when .}}{{end}} {{else if and (eq .MR.State "closed") .MR.ClosedBy}}closed without merging by {{.MR.ClosedBy}}{{with .MR.ClosedAt}} on {{when .}}{{end}}{{if .MR.SupersededBy}}, in favour of !{{.MR.SupersededBy}}{{end}} {{else if or (eq .MR.State "merged") (eq .MR.State "closed")}}{{if eq .MR.State "merged"}}merged{{else}}closed without merging{{end}} {{else}}opened by {{.MR.Author}} on {{when .MR.CreatedAt}}{{end}} · {{if .MR.SourcePath}}{{.MR.SourcePath}}:{{end}}{{.MR.SourceRef}} into {{.MR.TargetRef}}

{{with field . "StackedOn"}}

Stacked on !{{.Number}} {{.Title}}: merges into its branch until that lands, then onto its target.

{{end}} {{with field . "Stacked"}}

Builds on this: {{range $i, $k := .}}{{if $i}}, {{end}}!{{$k.Number}} {{$k.Title}}{{end}}. Merging with squash or rebase is refused while they are open.

{{end}} {{with field . "Supersedes"}}

supersedes {{range $i, $m := .}}{{if $i}}, {{end}}!{{$m.Number}}{{end}}

{{end}} {{if .Notice}}{{end}}
{{if eq .View "conversation"}}

Discussion

{{if .CanEdit}}
Edit {{if .Draft.Is "edit"}}{{template "previewblock" .Draft.HTML}}{{end}}

{{template "previewbtn"}}

{{end}} {{if .BodyHTML}}{{end}} {{range .Comments}} {{if eq .Kind "system"}}
{{.BodyHTML}} {{when .CreatedAt}}
{{else}}{{end}} {{end}} {{if .DetachedThreads}}

Threads on earlier revisions

{{range .DetachedThreads}}{{template "thread" dict "T" . "Base" $base "Viewer" $.Viewer "Class" "stale"}}{{end}}{{end}} {{if .Viewer}} {{if .Draft.Is "comment"}}{{template "previewblock" .Draft.HTML}}{{end}}

{{template "previewbtn"}}

{{end}}
{{else if eq .View "commits"}} {{if gt .CommitsTotal (len .Commits)}}

first {{len .Commits}} of {{.CommitsTotal}} commits; the rest are in the branch

{{end}} {{else}} {{if .DiffFiles}}

{{.Stat.Files}} file{{if ne .Stat.Files 1}}s{{end}} changed, +{{.Stat.Adds}} −{{.Stat.Dels}}{{if .DiffTruncated}} · shown up to 4 MiB; the counts and the last file are partial{{end}}

{{if .DiffTruncated}}{{end}} {{template "difffiles" dict "Files" .DiffFiles "Base" $base "Viewer" .Viewer}} {{else if .HeadPruned}}

The head of this merge request is no longer in the repository; its diff is not available.

{{else}}

No changes between the source and target.{{if .HeadMerged}} The source branch was already merged or fast-forwarded into {{.MR.TargetRef}}.{{end}}

{{end}} {{end}}
{{end}}