From dd95e2dbfad7f39060dc70f145d0e1478770e454 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Tue, 18 Feb 2025 10:23:44 +0800 Subject: *.go: Add some comments for docs --- ssh_handle_receive_pack.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'ssh_handle_receive_pack.go') diff --git a/ssh_handle_receive_pack.go b/ssh_handle_receive_pack.go index c680011..72ac3de 100644 --- a/ssh_handle_receive_pack.go +++ b/ssh_handle_receive_pack.go @@ -1,7 +1,6 @@ package main import ( - "crypto/rand" "errors" "fmt" "os" @@ -22,7 +21,12 @@ type pack_to_hook_t struct { var pack_to_hook_by_cookie = cmap.Map[string, pack_to_hook_t]{} +// ssh_handle_receive_pack handles attempts to push to repos. func ssh_handle_receive_pack(session glider_ssh.Session, pubkey string, repo_identifier string) (err error) { + // Here "access" means direct maintainer access. access=false doesn't + // necessarily mean the push is declined. This decision is delegated to + // the pre-receive hook, which is then handled by git_hooks_handle.go + // while being aware of the refs to be updated. repo_path, access, err := get_repo_path_perms_from_ssh_path_pubkey(session.Context(), repo_identifier, pubkey) if err != nil { return err @@ -40,6 +44,8 @@ func ssh_handle_receive_pack(session glider_ssh.Session, pubkey string, repo_ide repo_path: repo_path, }) defer pack_to_hook_by_cookie.Delete(cookie) + // The Delete won't execute until proc.Wait returns unless something + // horribly wrong such as a panic occurs. proc := exec.CommandContext(session.Context(), "git-receive-pack", repo_path) proc.Env = append(os.Environ(), @@ -65,9 +71,3 @@ func ssh_handle_receive_pack(session glider_ssh.Session, pubkey string, repo_ide return err } - -func random_string(sz int) (string, error) { - r := make([]byte, sz) - _, err := rand.Read(r) - return string(r), err -} -- cgit v1.2.3