1
0
Fork 0
forked from forgejo/forgejo

Fix incorrect CLI exit code and duplicate error message (#26346) (#26347)

Backport #26346

Follow the CLI refactoring, and add tests.

(cherry picked from commit fa431b377d)
This commit is contained in:
wxiaoguang 2023-08-05 23:37:04 +08:00 committed by Earl Warren
parent 149cd865ea
commit 2e539d5190
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
4 changed files with 104 additions and 4 deletions

26
cmd/main.go Normal file
View file

@ -0,0 +1,26 @@
// Copyright 2023 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package cmd
import (
"fmt"
"strings"
"github.com/urfave/cli"
)
func RunMainApp(app *cli.App, args ...string) error {
err := app.Run(args)
if err == nil {
return nil
}
if strings.HasPrefix(err.Error(), "flag provided but not defined:") {
// the cli package should already have output the error message, so just exit
cli.OsExiter(1)
return err
}
_, _ = fmt.Fprintf(app.ErrWriter, "Command error: %v\n", err)
cli.OsExiter(1)
return err
}