{{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.
{{.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}}
This diff is larger than 4 MiB and is cut off below. Fetch the branch to see all of it.