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.
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/codebrowser.go +5−11
| @@ -31,9 +31,6 @@ type codeView struct { | |||
| 31 | 31 | Name string | |
| 32 | 32 | Ref string | |
| 33 | 33 | Commit string | |
| 34 | CloneURL string | ||
| 35 | SSHURL string | ||
| 36 | Site string | ||
| 37 | 34 | Count int | |
| 38 | 35 | Branches []string | |
| 39 | 36 | Latest []git.Commit | |
| @@ -106,14 +103,11 @@ func (w *Web) Code(rw http.ResponseWriter, r *http.Request) { | |||
| 106 | 103 | func (w *Web) codeShell(r *http.Request, m *repo.Meta, ref, commit, active string, full bool) codeView { | |
| 107 | 104 | g := m.Git() | |
| 108 | 105 | v := codeView{ | |
| 109 | Page: w.page(r, m.Name+" · code"), | ||
| 110 | Name: m.Name, | ||
| 111 | Ref: ref, | ||
| 112 | Commit: commit, | ||
| 113 | CloneURL: w.cloneURL(r, m.Name), | ||
| 114 | SSHURL: sshURL(w.Cfg.SSHAddr, m.Name), | ||
| 115 | } | ||
| 116 | v.Site = w.siteURL(r, m.Name) | ||
| 106 | Page: w.page(r, m.Name+" · code"), | ||
| 107 | Name: m.Name, | ||
| 108 | Ref: ref, | ||
| 109 | Commit: commit, | ||
| 110 | } | ||
| 117 | 111 | if !full { | |
| 118 | 112 | return v | |
| 119 | 113 | } | |