Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/git/vole.git

Write over SSH with a registered key:

git clone ssh://git@0.0.0.0:2222/vole.git

A free and open-source forge that lives in your Git repo.

Give change file counts their own Changes section

19fc6ed0e81348adf5bb52f1208a3a2fde4d4c2f · Keenan Nemetz · 11d ago · parent d3dcf54d

Give change file counts their own Changes section

The sidebar now shows the changed-file count and diff totals in a Changes block with a right-aligned View changes button. The Files tab is named Changes to match, and What would land only appears when there is a merge fact or a closes link to report.

server/web/templates/requests.html +11−2

@@ -81,6 +81,7 @@
81 81 {{define "help"}}<span class="help" tabindex="0" role="note" aria-label="{{.}}" data-tip="{{.}}">?</span>{{end}}
82 82
83 83 {{define "request_landing"}}
84 {{if or .MergeChecked .Request.Closes}}
84 85 <section>
85 86 <h2>{{icon "git-pull-request"}}What would land</h2>
86 87 {{if .MergeChecked}}{{if .Conflicts}}
@@ -94,8 +95,15 @@
94 95 {{range $i, $id := .Request.Closes}}{{if $i}}, {{end}}<a href="/r/{{$.Name}}/issues/{{$id}}">{{num (index $.Numbers $id)}}</a>{{end}}
95 96 when merged.</p>
96 97 {{end}}
98 </section>
99 {{end}}
100 {{end}}
101
102 {{define "request_changes"}}
103 <section>
104 <h2 class="with-more"><span>{{icon "file"}}Changes</span>{{if .FileCount}} <a class="button secondary" href="/r/{{.Name}}/requests/{{.Request.ID}}/files">View changes</a>{{end}}</h2>
97 105 {{if .FileCount}}
98 <p class="muted">{{.FileCount}} file(s) changed{{if .Added}} · <span class="adds">+{{.Added}}</span>{{end}}{{if .Removed}} · <span class="dels">−{{.Removed}}</span>{{end}} · <a href="/r/{{.Name}}/requests/{{.Request.ID}}/files">Review files</a>{{if .AlreadyMerged}} · merged into {{.Request.Base}}{{end}}</p>
106 <p class="muted">{{.FileCount}} file(s) changed{{if .Added}} · <span class="adds">+{{.Added}}</span>{{end}}{{if .Removed}} · <span class="dels">−{{.Removed}}</span>{{end}}{{if .AlreadyMerged}} · merged into {{.Request.Base}}{{end}}</p>
99 107 {{else if .AlreadyMerged}}
100 108 <p class="muted">Already merged into {{.Request.Base}}.</p>
101 109 {{else}}
@@ -115,6 +123,7 @@
115 123 hx-sync="this:replace"
116 124 hx-swap="outerHTML">
117 125 {{template "request_landing" .}}
126 {{template "request_changes" .}}
118 127 {{template "request_sidebar" .}}
119 128 </div>
120 129 {{end}}
@@ -266,7 +275,7 @@
266 275 {{define "request_tabs"}}
267 276 <nav class="subtabs" aria-label="Change request sections">
268 277 <a class="{{if eq .Tab "conversation"}}active{{end}}" href="/r/{{.Name}}/requests/{{.Request.ID}}"{{if eq .Tab "conversation"}} aria-current="page"{{end}}>{{icon "message-square"}}Conversation</a>
269 <a class="{{if eq .Tab "files"}}active{{end}}" href="/r/{{.Name}}/requests/{{.Request.ID}}/files"{{if eq .Tab "files"}} aria-current="page"{{end}}>{{icon "file"}}Files <span class="chip-count">{{.FileCount}}</span></a>
278 <a class="{{if eq .Tab "files"}}active{{end}}" href="/r/{{.Name}}/requests/{{.Request.ID}}/files"{{if eq .Tab "files"}} aria-current="page"{{end}}>{{icon "file"}}Changes <span class="chip-count">{{.FileCount}}</span></a>
270 279 <a class="{{if eq .Tab "runs"}}active{{end}}" href="/r/{{.Name}}/requests/{{.Request.ID}}/runs"{{if eq .Tab "runs"}} aria-current="page"{{end}}>{{icon "play"}}Runs <span class="chip-count">{{len .Checks}}</span></a>
271 280 </nav>
272 281 {{end}}