From e5ec7a086f649751f4496e69ea64ba18aecdb73d Mon Sep 17 00:00:00 2001 From: zeripath Date: Sun, 30 Jan 2022 16:33:36 +0000 Subject: [PATCH] Warn at startup if the provided `SCRIPT_TYPE` is not on the PATH (#18467) Several users run Gitea in situations whereby `bash` is not available. If the `SCRIPT_TYPE` is not changed this will cause hooks to fail. A simple test to check if the provided type is on the PATH should be sufficient to warn them about this problem. Signed-off-by: Andrew Thornton --- modules/setting/repository.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/setting/repository.go b/modules/setting/repository.go index d2c0e205d5..f4a2f4ad66 100644 --- a/modules/setting/repository.go +++ b/modules/setting/repository.go @@ -5,6 +5,7 @@ package setting import ( + "os/exec" "path" "path/filepath" "strings" @@ -278,6 +279,10 @@ func newRepository() { } ScriptType = sec.Key("SCRIPT_TYPE").MustString("bash") + if _, err := exec.LookPath(ScriptType); err != nil { + log.Warn("SCRIPT_TYPE %q is not on the current PATH. Are you sure that this is the correct SCRIPT_TYPE?", ScriptType) + } + if err = Cfg.Section("repository").MapTo(&Repository); err != nil { log.Fatal("Failed to map Repository settings: %v", err) } else if err = Cfg.Section("repository.editor").MapTo(&Repository.Editor); err != nil {