forked from gitea/gitea
Use InitWorkPathAndCfgProvider for environment-to-ini to avoid unnecessary checks (#25480)
Fix #25481 The `InitWorkPathAndCommonConfig` calls `LoadCommonSettings` which does many checks like "current user is root or not". Some commands like "environment-to-ini" shouldn't do such check, because it might be run with "root" user at the moment (eg: the docker's setup script) ps: in the future, the docker's setup script should be improved to avoid Gitea's command running with "root"
This commit is contained in:
parent
71446eee99
commit
cc1d61f1f5
|
@ -88,7 +88,7 @@ func main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func runEnvironmentToIni(c *cli.Context) error {
|
func runEnvironmentToIni(c *cli.Context) error {
|
||||||
setting.InitWorkPathAndCommonConfig(os.Getenv, setting.ArgWorkPathAndCustomConf{
|
setting.InitWorkPathAndCfgProvider(os.Getenv, setting.ArgWorkPathAndCustomConf{
|
||||||
WorkPath: c.String("work-path"),
|
WorkPath: c.String("work-path"),
|
||||||
CustomPath: c.String("custom-path"),
|
CustomPath: c.String("custom-path"),
|
||||||
CustomConf: c.String("config"),
|
CustomConf: c.String("config"),
|
||||||
|
|
|
@ -89,6 +89,12 @@ func (s *stringWithDefault) Set(v string) {
|
||||||
|
|
||||||
// InitWorkPathAndCommonConfig will set AppWorkPath, CustomPath and CustomConf, init default config provider by CustomConf and load common settings,
|
// InitWorkPathAndCommonConfig will set AppWorkPath, CustomPath and CustomConf, init default config provider by CustomConf and load common settings,
|
||||||
func InitWorkPathAndCommonConfig(getEnvFn func(name string) string, args ArgWorkPathAndCustomConf) {
|
func InitWorkPathAndCommonConfig(getEnvFn func(name string) string, args ArgWorkPathAndCustomConf) {
|
||||||
|
InitWorkPathAndCfgProvider(getEnvFn, args)
|
||||||
|
LoadCommonSettings()
|
||||||
|
}
|
||||||
|
|
||||||
|
// InitWorkPathAndCfgProvider will set AppWorkPath, CustomPath and CustomConf, init default config provider by CustomConf
|
||||||
|
func InitWorkPathAndCfgProvider(getEnvFn func(name string) string, args ArgWorkPathAndCustomConf) {
|
||||||
tryAbsPath := func(paths ...string) string {
|
tryAbsPath := func(paths ...string) string {
|
||||||
s := paths[len(paths)-1]
|
s := paths[len(paths)-1]
|
||||||
for i := len(paths) - 2; i >= 0; i-- {
|
for i := len(paths) - 2; i >= 0; i-- {
|
||||||
|
@ -186,6 +192,4 @@ func InitWorkPathAndCommonConfig(getEnvFn func(name string) string, args ArgWork
|
||||||
AppWorkPath = tmpWorkPath.Value
|
AppWorkPath = tmpWorkPath.Value
|
||||||
CustomPath = tmpCustomPath.Value
|
CustomPath = tmpCustomPath.Value
|
||||||
CustomConf = tmpCustomConf.Value
|
CustomConf = tmpCustomConf.Value
|
||||||
|
|
||||||
LoadCommonSettings()
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue