]> source.dussan.org Git - gitea.git/commitdiff
Avoid creating directories when loading config (#25944)
authorwxiaoguang <wxiaoguang@gmail.com>
Tue, 18 Jul 2023 12:32:36 +0000 (20:32 +0800)
committerGitHub <noreply@github.com>
Tue, 18 Jul 2023 12:32:36 +0000 (07:32 -0500)
The "creating dir/file during load config" is a longstanding and complex
problem.

This PR only does a quick patch, it still needs more refactorings in the
future.

Fix #25938

modules/setting/packages.go

index dc8d98d29fbc5f19b455bb30937c74f9a8f1f4ca..b225615a24012c0de92bf8d0be3ffd9799af986a 100644 (file)
@@ -74,8 +74,10 @@ func loadPackagesFrom(rootCfg ConfigProvider) (err error) {
                Packages.ChunkedUploadPath = filepath.ToSlash(filepath.Join(AppDataPath, Packages.ChunkedUploadPath))
        }
 
-       if err := os.MkdirAll(Packages.ChunkedUploadPath, os.ModePerm); err != nil {
-               return fmt.Errorf("unable to create chunked upload directory: %s (%v)", Packages.ChunkedUploadPath, err)
+       if HasInstallLock(rootCfg) {
+               if err := os.MkdirAll(Packages.ChunkedUploadPath, os.ModePerm); err != nil {
+                       return fmt.Errorf("unable to create chunked upload directory: %s (%v)", Packages.ChunkedUploadPath, err)
+               }
        }
 
        Packages.LimitTotalOwnerSize = mustBytes(sec, "LIMIT_TOTAL_OWNER_SIZE")