{{define "mrrange"}}{{if .SourcePath}}{{.SourcePath}}:{{end}}{{.SourceRef}} into {{.TargetRef}}{{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}}

{{.MR.State}} {{if and (eq .MR.State "merged") .MR.MergedAt}} {{if .MR.MergedBy}}{{.MR.MergedBy}} merged{{else}}Merged{{end}} {{template "mrrange" .MR}} on {{when .MR.MergedAt}} {{else if and (eq .MR.State "closed") .MR.ClosedAt}} {{if .MR.ClosedBy}}{{.MR.ClosedBy}} closed this{{else}}Closed{{end}} without merging {{template "mrrange" .MR}} on {{when .MR.ClosedAt}} {{else if or (eq .MR.State "merged") (eq .MR.State "closed")}} {{template "mrrange" .MR}} {{else}} {{.MR.Author}} wants to merge {{template "mrrange" .MR}} {{end}}

{{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}} {{if .Notice}}{{end}}
{{if eq .View "conversation"}} {{if .CanEdit}}
Edit

{{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}}

{{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}}

{{.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}} {{end}}
{{end}}