aboutsummaryrefslogtreecommitdiff
path: root/http_handle_repo_index.go
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-02-14 11:22:17 +0800
committerRunxi Yu <me@runxiyu.org>2025-02-14 11:22:17 +0800
commit21c667435ab5394fe0dd86314c61256ea9b44711 (patch)
tree13325aebe9a94e909393c14ae60961d8c01673c8 /http_handle_repo_index.go
parenthttp_server.go: Rename dir_mode to trailing_slash (diff)
downloadforge-21c667435ab5394fe0dd86314c61256ea9b44711.tar.gz
forge-21c667435ab5394fe0dd86314c61256ea9b44711.tar.zst
forge-21c667435ab5394fe0dd86314c61256ea9b44711.zip
repo_index: Allow refspecs
Diffstat (limited to '')
-rw-r--r--http_handle_repo_index.go11
1 files changed, 6 insertions, 5 deletions
diff --git a/http_handle_repo_index.go b/http_handle_repo_index.go
index 4eb2c97..daeabca 100644
--- a/http_handle_repo_index.go
+++ b/http_handle_repo_index.go
@@ -12,19 +12,20 @@ func handle_repo_index(w http.ResponseWriter, r *http.Request, params map[string
return
}
params["repo_description"] = description
- head, err := repo.Head()
+
+ ref_hash, err := get_ref_hash_from_type_and_name(repo, params["ref_type"].(string), params["ref_name"].(string))
if err != nil {
- http.Error(w, "Error getting repo HEAD: "+err.Error(), http.StatusInternalServerError)
+ http.Error(w, "Error getting ref hash: "+err.Error(), http.StatusInternalServerError)
return
}
- head_hash := head.Hash()
- recent_commits, err := get_recent_commits(repo, head_hash, 3)
+
+ recent_commits, err := get_recent_commits(repo, ref_hash, 3)
if err != nil {
http.Error(w, "Error getting recent commits: "+err.Error(), http.StatusInternalServerError)
return
}
params["commits"] = recent_commits
- commit_object, err := repo.CommitObject(head_hash)
+ commit_object, err := repo.CommitObject(ref_hash)
if err != nil {
http.Error(w, "Error getting commit object: "+err.Error(), http.StatusInternalServerError)
return