From 6f9f62d453c94ac8d69baebcf51589d9b623d306 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Sun, 16 Feb 2025 02:28:55 +0800 Subject: [PATCH] repo_index: Add HTTP clone along with SSH --- http_handle_repo_index.go | 3 ++- remote_url.go | 14 ++++++++++++++ ssh_url_generation.go | 10 ---------- templates/repo_index.tmpl | 7 +++++-- diff --git a/http_handle_repo_index.go b/http_handle_repo_index.go index daeabca468ce46aa7768b42946fd4d8a56293def..448373e6e7a757ad02beddd0891bed57e8e15651 100644 --- a/http_handle_repo_index.go +++ b/http_handle_repo_index.go @@ -39,7 +39,8 @@ 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/remote_url.go b/remote_url.go new file mode 100644 index 0000000000000000000000000000000000000000..f64d6eca39f08470c17be17ee1ff080ac5a93b28 --- /dev/null +++ b/remote_url.go @@ -0,0 +1,14 @@ +package main + +import ( + "net/url" + "strings" +) + +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/ssh_url_generation.go b/ssh_url_generation.go deleted file mode 100644 index bdef57f4929797d7321c654fbbde063e3bf65269..0000000000000000000000000000000000000000 --- a/ssh_url_generation.go +++ /dev/null @@ -1,10 +0,0 @@ -package main - -import ( - "net/url" - "strings" -) - -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) -} diff --git a/templates/repo_index.tmpl b/templates/repo_index.tmpl index 29e597e8e51fbfd2b40548ed3e47765e84bef9c7..e858f6f82f77c7f440b2dfefb77d23ce644b805c 100644 --- a/templates/repo_index.tmpl +++ b/templates/repo_index.tmpl @@ -20,8 +20,11 @@ Name {{ .repo_name }} - Clone - git clone {{ .clone_url }} + Clone + git clone {{ .ssh_clone_url }} + + + git clone {{ .http_clone_url }} {{ if .repo_description }} -- 2.48.1