Eric Bower
·
2026-02-25
1
2{{template "base" .}}
3
4{{define "title"}}{{.Pr.Title}} - pr summary{{end}}
5
6{{define "meta"}}
7<link rel="alternate" type="application/atom+xml"
8 title="RSS feed for git collaboration server"
9 href="/prs/{{.Pr.ID}}/rss" />
10<meta property="og:title" content="{{.Pr.Title}}" />
11<meta property="og:url" content="https://{{.MetaData.URL}}/prs/{{.Pr.ID}}" />
12<meta property="og:type" content="object" />
13<meta property="og:site_name" content="{{.MetaData.URL}}" />
14{{end}}
15
16{{define "body"}}
17<main class="group">
18 <div class="flex justify-center items-center">
19 <div class="box container w-full">
20 <h1 class="text-xl">{{.RepoName}}</h1>
21
22 <div class="flex items-center gap border-visited flex-wrap">
23 <a href="/prs/{{.Pr.ID}}">{{.Pr.Title}}</a>
24 {{if eq .Pr.Status "draft"}}
25 <code class="pill-info">{{.Pr.Status}}</code>
26 {{else if eq .Pr.Status "open"}}
27 <code class="pill-success">{{.Pr.Status}}</code>
28 {{else}}
29 <code>{{.Pr.Status}}</code>
30 {{end}}
31 <a class="btn-nav flex items-center" href="/prs/{{.Pr.ID}}/rss" style="padding: 0.025rem 0.3rem;">
32 rss
33 </a>
34 </div>
35
36 <div class="group timeline text-sm my">
37 {{range .Logs}}
38 <div class="timeline-item{{if eq .Event "pr_status_changed"}} timeline-status-{{.Data.Status}}{{end}}">
39 {{if eq .Event "pr_patchset_added"}}
40 <details class="mb" style="border: 0; padding: 0;">
41 <summary>
42 <span class="font-bold">added <a href="/ps/{{.Patchset.ID}}"><code{{if eq .Patchset.ID $.Patchset.ID}} class="border-visited"{{end}}>{{.FormattedPatchsetID}}</code></a></span>
43 <span class="event-meta">on <date>{{.Date}}</date> · by {{template "user-pill" .UserData}}</span>
44 </summary>
45
46 <div class="group">
47 {{- range .RangeDiff -}}
48 <div>
49 <code class='{{if eq .Type "rm"}}pill-admin{{else if eq .Type "add"}}pill-success{{else if eq .Type "changed"}}pill-info{{end}}'>
50 {{.Header}}
51 </code>
52 </div>
53 {{- end -}}
54 </div>
55 </details>
56
57 {{else if eq .Event "pr_status_changed"}}
58 <div>
59 <span class="font-bold">changed status to
60 <code class="pill-status-{{.Data.Status}}">{{.Data.Status}}</code>
61 </span>
62 <span class="event-meta">on <date>{{.Date}}</date> · by {{template "user-pill" .UserData}}</span>
63 </div>
64
65 {{if .Data.Comment}}
66 <div class="status-change-comment">{{.Data.Comment}}</div>
67 {{end}}
68
69 {{else}}
70 <div>
71 <span class="font-bold">
72 {{if eq .Event "pr_created"}}
73 created pr with <a href="/ps/{{.Patchset.ID}}"><code{{if eq .Patchset.ID $.Patchset.ID}} class="border-visited"{{end}}>{{.FormattedPatchsetID}}</code></a>
74 {{else if eq .Event "pr_patchset_deleted"}}
75 deleted <code>{{.FormattedPatchsetID}}</code>
76 {{else if eq .Event "pr_patchset_replaced"}}
77 replaced <code>{{.FormattedPatchsetID}}</code>
78 {{else if eq .Event "pr_name_changed"}}
79 changed pr name to <code>{{.Data.Name}}</code>
80 {{else}}
81 {{.Event}}
82 {{end}}
83 </span>
84 <span class="event-meta">on <date>{{.Date}}</date> · by {{template "user-pill" .UserData}}</span>
85 </div>
86 {{end}}
87 </div>
88 {{end}}
89 </div>
90
91 <details class="text-sm">
92 <summary>cmds</summary>
93 <div class="group my">
94 checkout latest patchset:
95 <pre class="m-0">ssh {{.MetaData.URL}} print pr-{{.Pr.ID}} | git am -3</pre>
96
97 checkout any patchset in a patch request:
98 <pre class="m-0">ssh {{.MetaData.URL}} print ps-X | git am -3</pre>
99
100 add changes to patch request:
101 <pre class="m-0">git format-patch {{.Branch}} --stdout | ssh {{.MetaData.URL}} pr add {{.Pr.ID}}</pre>
102
103 set PR to open (enables RSS notifications):
104 <pre class="m-0">ssh {{.MetaData.URL}} pr open {{.Pr.ID}}</pre>
105
106 set PR to draft (stops RSS notifications):
107 <pre class="m-0">ssh {{.MetaData.URL}} pr draft {{.Pr.ID}}</pre>
108 </div>
109 </details>
110 </div>
111 </div>
112
113 <div class="flex justify-center items-center">
114 <div class="patchset-split">
115 <h3 class="text-md mb">
116 Patchset
117 <a href="/ps/{{.Patchset.ID}}"><code class="border-visited">{{.FormattedPatchsetID}}</code></a>
118 <span class="event-meta">on <date>{{.PatchsetDate}}</date> · commit {{sha .Patch.CommitSha}}</span>
119 </h3>
120
121 <div class="flex-collapse flex gap">
122 <div class="w-full" style="flex: 1 1 50%; min-width: 0;">
123 {{template "commit-list" .}}
124 </div>
125 <div class="w-full" style="flex: 1 1 50%; min-width: 0;">
126 {{template "patch-detail" .}}
127 </div>
128 </div>
129 </div>
130 </div>
131
132 {{template "patch-files" .}}
133</main>
134{{end}}