diff options
author | zeripath <art27@cantab.net> | 2020-11-28 02:42:08 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-27 21:42:08 -0500 |
commit | 742e21aeba5c02935269a2a3681f4486019ce542 (patch) | |
tree | e1572ab13c33dec1238321170a90d42851ae4ca2 /cmd | |
parent | 5b75f17043bc2a6d0e753ae5c9c6759adad5aaac (diff) | |
download | gitea-742e21aeba5c02935269a2a3681f4486019ce542.tar.gz gitea-742e21aeba5c02935269a2a3681f4486019ce542.zip |
Handle and propagate errors when checking if paths are Dirs, Files or Exist (#13186)
* Ensure errors from IsDir propagate
* Handle errors when checking IsFile
* Handle and propagate errors from IsExist
* Update modules/templates/static.go
* Update modules/templates/static.go
* Return after ctx.ServerError
* Apply suggestions from code review
* Fix tests
The previous merge managed to break repo_form.go
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Co-authored-by: Lauris BH <lauris@nix.lv>
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/dump.go | 19 | ||||
-rw-r--r-- | cmd/web.go | 8 |
2 files changed, 20 insertions, 7 deletions
diff --git a/cmd/dump.go b/cmd/dump.go index 7ff986f14e..1a2e625767 100644 --- a/cmd/dump.go +++ b/cmd/dump.go @@ -23,7 +23,6 @@ import ( "gitea.com/macaron/session" archiver "github.com/mholt/archiver/v3" - "github.com/unknwon/com" "github.com/urfave/cli" ) @@ -306,7 +305,11 @@ func runDump(ctx *cli.Context) error { log.Info("Custom dir %s doesn't exist, skipped", setting.CustomPath) } - if com.IsExist(setting.AppDataPath) { + isExist, err := util.IsExist(setting.AppDataPath) + if err != nil { + log.Error("Unable to check if %s exists. Error: %v", setting.AppDataPath, err) + } + if isExist { log.Info("Packing data directory...%s", setting.AppDataPath) var excludes []string @@ -349,9 +352,15 @@ func runDump(ctx *cli.Context) error { // yet or not. if ctx.IsSet("skip-log") && ctx.Bool("skip-log") { log.Info("Skip dumping log files") - } else if com.IsExist(setting.LogRootPath) { - if err := addRecursive(w, "log", setting.LogRootPath, verbose); err != nil { - fatal("Failed to include log: %v", err) + } else { + isExist, err := util.IsExist(setting.LogRootPath) + if err != nil { + log.Error("Unable to check if %s exists. Error: %v", setting.LogRootPath, err) + } + if isExist { + if err := addRecursive(w, "log", setting.LogRootPath, verbose); err != nil { + fatal("Failed to include log: %v", err) + } } } diff --git a/cmd/web.go b/cmd/web.go index 47dbc2675e..063e41c946 100644 --- a/cmd/web.go +++ b/cmd/web.go @@ -16,11 +16,11 @@ import ( "code.gitea.io/gitea/modules/graceful" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" + "code.gitea.io/gitea/modules/util" "code.gitea.io/gitea/routers" "code.gitea.io/gitea/routers/routes" context2 "github.com/gorilla/context" - "github.com/unknwon/com" "github.com/urfave/cli" "golang.org/x/crypto/acme/autocert" ini "gopkg.in/ini.v1" @@ -188,7 +188,11 @@ func setPort(port string) error { default: // Save LOCAL_ROOT_URL if port changed cfg := ini.Empty() - if com.IsFile(setting.CustomConf) { + isFile, err := util.IsFile(setting.CustomConf) + if err != nil { + log.Fatal("Unable to check if %s is a file", err) + } + if isFile { // Keeps custom settings if there is already something. if err := cfg.Append(setting.CustomConf); err != nil { return fmt.Errorf("Failed to load custom conf '%s': %v", setting.CustomConf, err) |