aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-02-16 02:28:55 +0800
committerRunxi Yu <me@runxiyu.org>2025-02-16 02:28:55 +0800
commit6f9f62d453c94ac8d69baebcf51589d9b623d306 (patch)
treef311981eb5b86049ca85e9e2a58a86d5f4c45aea
parenthttp_*: Add HTTP cloning (diff)
downloadforge-6f9f62d453c94ac8d69baebcf51589d9b623d306.tar.gz
forge-6f9f62d453c94ac8d69baebcf51589d9b623d306.tar.zst
forge-6f9f62d453c94ac8d69baebcf51589d9b623d306.zip
repo_index: Add HTTP clone along with SSH
-rw-r--r--http_handle_repo_index.go3
-rw-r--r--remote_url.go (renamed from ssh_url_generation.go)4
-rw-r--r--templates/repo_index.tmpl7
3 files changed, 11 insertions, 3 deletions
diff --git a/http_handle_repo_index.go b/http_handle_repo_index.go
index daeabca..448373e 100644
--- a/http_handle_repo_index.go
+++ b/http_handle_repo_index.go
@@ -39,7 +39,8 @@ func handle_repo_index(w http.ResponseWriter, r *http.Request, params map[string
params["readme_filename"], params["readme"] = render_readme_at_tree(tree)
params["files"] = build_display_git_tree(tree)
- params["clone_url"] = generate_ssh_remote_url(group_name, repo_name)
+ params["http_clone_url"] = generate_http_remote_url(group_name, repo_name)
+ params["ssh_clone_url"] = generate_ssh_remote_url(group_name, repo_name)
render_template(w, "repo_index", params)
}
diff --git a/ssh_url_generation.go b/remote_url.go
index bdef57f..f64d6ec 100644
--- a/ssh_url_generation.go
+++ b/remote_url.go
@@ -8,3 +8,7 @@ import (
func generate_ssh_remote_url(group_name, repo_name string) string {
return strings.TrimSuffix(config.SSH.Root, "/") + "/" + url.PathEscape(group_name) + "/:/repos/" + url.PathEscape(repo_name)
}
+
+func generate_http_remote_url(group_name, repo_name string) string {
+ return strings.TrimSuffix(config.HTTP.Root, "/") + "/" + url.PathEscape(group_name) + "/:/repos/" + url.PathEscape(repo_name)
+}
diff --git a/templates/repo_index.tmpl b/templates/repo_index.tmpl
index 29e597e..e858f6f 100644
--- a/templates/repo_index.tmpl
+++ b/templates/repo_index.tmpl
@@ -20,8 +20,11 @@
<td>{{ .repo_name }}</td>
</tr>
<tr>
- <th scope="row">Clone</th>
- <td><code>git clone {{ .clone_url }}</code></td>
+ <th scope="row" rowspan="2">Clone</th>
+ <td><code>git clone {{ .ssh_clone_url }}</code></td>
+ </tr>
+ <tr>
+ <td><code>git clone {{ .http_clone_url }}</code></td>
</tr>
{{ if .repo_description }}
<tr>