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",
|
Name: "verbose, V",
|
||||||
Usage: "Show process details",
|
Usage: "Show process details",
|
||||||
},
|
},
|
||||||
|
cli.BoolFlag{
|
||||||
|
Name: "quiet, q",
|
||||||
|
Usage: "Only display warnings and errors",
|
||||||
|
},
|
||||||
cli.StringFlag{
|
cli.StringFlag{
|
||||||
Name: "tempdir, t",
|
Name: "tempdir, t",
|
||||||
Value: os.TempDir(),
|
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 {
|
if _, err := setting.CfgProvider.Section("log.console").NewKey("STDERR", "true"); err != nil {
|
||||||
fatal("Setting console logger to stderr failed: %v", err)
|
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 {
|
if !setting.InstallLock {
|
||||||
log.Error("Is '%s' really the right config path?\n", setting.CustomConf)
|
log.Error("Is '%s' really the right config path?\n", setting.CustomConf)
|
||||||
return fmt.Errorf("gitea is not initialized")
|
return fmt.Errorf("gitea is not initialized")
|
||||||
}
|
}
|
||||||
setting.LoadSettings() // cannot access session settings otherwise
|
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()
|
stdCtx, cancel := installSignals()
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
|
@ -223,7 +240,6 @@ func runDump(ctx *cli.Context) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
verbose := ctx.Bool("verbose")
|
|
||||||
var iface interface{}
|
var iface interface{}
|
||||||
if fileName == "-" {
|
if fileName == "-" {
|
||||||
iface, err = archiver.ByExtension(fmt.Sprintf(".%s", outType))
|
iface, err = archiver.ByExtension(fmt.Sprintf(".%s", outType))
|
||||||
|
|
Loading…
Reference in a new issue