Only write config in environment-to-ini if there are changes (#15861)
* Only write config in environment-to-ini if there are changes Only write the new config in environment-to-ini if there are changes or the destination is not the same as the customconf. Fix #15719 Fix #15857 Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
		
							parent
							
								
									d234d37aa8
								
							
						
					
					
						commit
						bbbe625343
					
				
					 1 changed files with 11 additions and 3 deletions
				
			
		|  | @ -110,6 +110,8 @@ func runEnvironmentToIni(c *cli.Context) error { | ||||||
| 	} | 	} | ||||||
| 	cfg.NameMapper = ini.SnackCase | 	cfg.NameMapper = ini.SnackCase | ||||||
| 
 | 
 | ||||||
|  | 	changed := false | ||||||
|  | 
 | ||||||
| 	prefix := c.String("prefix") + "__" | 	prefix := c.String("prefix") + "__" | ||||||
| 
 | 
 | ||||||
| 	for _, kv := range os.Environ() { | 	for _, kv := range os.Environ() { | ||||||
|  | @ -143,15 +145,21 @@ func runEnvironmentToIni(c *cli.Context) error { | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
|  | 		oldValue := key.Value() | ||||||
|  | 		if !changed && oldValue != value { | ||||||
|  | 			changed = true | ||||||
|  | 		} | ||||||
| 		key.SetValue(value) | 		key.SetValue(value) | ||||||
| 	} | 	} | ||||||
| 	destination := c.String("out") | 	destination := c.String("out") | ||||||
| 	if len(destination) == 0 { | 	if len(destination) == 0 { | ||||||
| 		destination = setting.CustomConf | 		destination = setting.CustomConf | ||||||
| 	} | 	} | ||||||
| 	err = cfg.SaveTo(destination) | 	if destination != setting.CustomConf || changed { | ||||||
| 	if err != nil { | 		err = cfg.SaveTo(destination) | ||||||
| 		return err | 		if err != nil { | ||||||
|  | 			return err | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| 	if c.Bool("clear") { | 	if c.Bool("clear") { | ||||||
| 		for _, kv := range os.Environ() { | 		for _, kv := range os.Environ() { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue