Add --quiet option to gitea dump (#22969)
Fixes: #19687 The --quiet options to gitea dump silences informational and less important messages, but will still log warnings and errors to console. Very useful in combination with cron backups and '-f -'. Since --verbose and --quiet are incompatible with each other I made it an error to specify both. To get the error message to be printed to stderr I had to make this test after the NewServices()-call, which is why there are three new blocks of code instead of two.
This commit is contained in:
		
							parent
							
								
									f9d6092cfe
								
							
						
					
					
						commit
						cb1536471b
					
				
					 1 changed files with 17 additions and 1 deletions
				
			
		
							
								
								
									
										18
									
								
								cmd/dump.go
									
										
									
									
									
								
							
							
						
						
									
										18
									
								
								cmd/dump.go
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -112,6 +112,10 @@ It can be used for backup and capture Gitea server image to send to maintainer`,
 | 
			
		|||
			Name:  "verbose, V",
 | 
			
		||||
			Usage: "Show process details",
 | 
			
		||||
		},
 | 
			
		||||
		cli.BoolFlag{
 | 
			
		||||
			Name:  "quiet, q",
 | 
			
		||||
			Usage: "Only display warnings and errors",
 | 
			
		||||
		},
 | 
			
		||||
		cli.StringFlag{
 | 
			
		||||
			Name:  "tempdir, t",
 | 
			
		||||
			Value: os.TempDir(),
 | 
			
		||||
| 
						 | 
				
			
			@ -192,12 +196,25 @@ func runDump(ctx *cli.Context) error {
 | 
			
		|||
	if _, err := setting.CfgProvider.Section("log.console").NewKey("STDERR", "true"); err != nil {
 | 
			
		||||
		fatal("Setting console logger to stderr failed: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Set loglevel to Warn if quiet-mode is requested
 | 
			
		||||
	if ctx.Bool("quiet") {
 | 
			
		||||
		if _, err := setting.CfgProvider.Section("log.console").NewKey("LEVEL", "Warn"); err != nil {
 | 
			
		||||
			fatal("Setting console log-level failed: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if !setting.InstallLock {
 | 
			
		||||
		log.Error("Is '%s' really the right config path?\n", setting.CustomConf)
 | 
			
		||||
		return fmt.Errorf("gitea is not initialized")
 | 
			
		||||
	}
 | 
			
		||||
	setting.LoadSettings() // cannot access session settings otherwise
 | 
			
		||||
 | 
			
		||||
	verbose := ctx.Bool("verbose")
 | 
			
		||||
	if verbose && ctx.Bool("quiet") {
 | 
			
		||||
		return fmt.Errorf("--quiet and --verbose cannot both be set")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	stdCtx, cancel := installSignals()
 | 
			
		||||
	defer cancel()
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -223,7 +240,6 @@ func runDump(ctx *cli.Context) error {
 | 
			
		|||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	verbose := ctx.Bool("verbose")
 | 
			
		||||
	var iface interface{}
 | 
			
		||||
	if fileName == "-" {
 | 
			
		||||
		iface, err = archiver.ByExtension(fmt.Sprintf(".%s", outType))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue