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/vole.git

Write over SSH with a registered key:

git clone ssh://git@rodent.software:2222/vole.git

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

Move Clone and Site into the repository header

816cc543d34ab52df01c62cfd8878ae70327a21f · Keenan Nemetz · 11d ago · parent a196e404

Move Clone and Site into the repository header

The repository header now carries the controls that act on the repository as a whole. Clone appears once beside the name on every tab, with a copy button for the HTTPS URL and one for the SSH command. Site joins it only when a site would answer: pages are enabled, the repository is public, and its pages branch exists.

The per-tab Clone popovers and the Overview/Code Site buttons are gone, so a tab's page header holds only that tab's own actions. Copy feedback now restores innerHTML, keeping the icon on an icon-only button and surviving a repeated click.

server/web/overview.go −7

@@ -104,16 +104,12 @@ func (w *Web) Overview(rw http.ResponseWriter, r *http.Request) {
104 104 recentIssues, recentRequests := w.overviewRecent(m)
105 105
106 106 readme, readmeName := w.readmeAt(m, ref, commit)
107 site := w.siteURL(r, m.Name)
108 107
109 108 w.render(rw, "overview", struct {
110 109 Page
111 110 Name string
112 111 Ref string
113 112 Commit string
114 CloneURL string
115 SSHURL string
116 Site string
117 113 Readme template.HTML
118 114 ReadmeName string
119 115 Languages []languageShare
@@ -128,9 +124,6 @@ func (w *Web) Overview(rw http.ResponseWriter, r *http.Request) {
128 124 Name: m.Name,
129 125 Ref: ref,
130 126 Commit: commit,
131 CloneURL: w.cloneURL(r, m.Name),
132 SSHURL: sshURL(w.Cfg.SSHAddr, m.Name),
133 Site: site,
134 127 Readme: readme,
135 128 ReadmeName: readmeName,
136 129 Languages: languages,