mirror of
https://lab.forgefriends.org/friendlyforgeformat/gof3.git
synced 2025-10-06 02:42:44 +02:00
cmd: only display the stack trace when in --verbose mode
This commit is contained in:
@@ -11,6 +11,7 @@ import (
|
||||
"lab.forgefriends.org/friendlyforgeformat/gof3/logger"
|
||||
"lab.forgefriends.org/friendlyforgeformat/gof3/options"
|
||||
"lab.forgefriends.org/friendlyforgeformat/gof3/tree/generic"
|
||||
"lab.forgefriends.org/friendlyforgeformat/gof3/util"
|
||||
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
@@ -72,12 +73,12 @@ func CreateCmdMirror(ctx context.Context) *cli.Command {
|
||||
Name: "mirror",
|
||||
Usage: "Mirror",
|
||||
Description: "Mirror",
|
||||
Action: func(c *cli.Context) error { return runMirror(ctx, c) },
|
||||
Action: func(c *cli.Context) error { return util.PanicToError(func() { runMirror(ctx, c) }) },
|
||||
Flags: flags,
|
||||
}
|
||||
}
|
||||
|
||||
func runMirror(ctx context.Context, c *cli.Context) error {
|
||||
func runMirror(ctx context.Context, c *cli.Context) {
|
||||
from := FlagsToTree(ctx, c, directionFrom)
|
||||
to := FlagsToTree(ctx, c, directionTo)
|
||||
fromPathString := c.String(BuildForgePrefix(directionFrom, "path"))
|
||||
@@ -109,7 +110,7 @@ func runMirror(ctx context.Context, c *cli.Context) error {
|
||||
}
|
||||
from.ApplyAndGet(ctx, fromPath, generic.NewApplyOptions(walkAndGet))
|
||||
if fromNode == generic.NilNode {
|
||||
return fmt.Errorf("from %s not found", fromPath)
|
||||
panic(fmt.Errorf("from %s not found", fromPath))
|
||||
}
|
||||
from.Debug("copy %s from %T to %T", fromPath, from, to)
|
||||
|
||||
@@ -118,9 +119,8 @@ func runMirror(ctx context.Context, c *cli.Context) error {
|
||||
} else {
|
||||
toNode := to.FindAndGet(ctx, toPath)
|
||||
if toNode == generic.NilNode {
|
||||
return fmt.Errorf("to %s not found", toPath)
|
||||
panic(fmt.Errorf("to %s not found", toPath))
|
||||
}
|
||||
generic.NodeMirror(ctx, fromNode, toNode, generic.NewMirrorOptions())
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
14
main/main.go
14
main/main.go
@@ -10,6 +10,7 @@ import (
|
||||
|
||||
"lab.forgefriends.org/friendlyforgeformat/gof3/cmd"
|
||||
"lab.forgefriends.org/friendlyforgeformat/gof3/logger"
|
||||
"lab.forgefriends.org/friendlyforgeformat/gof3/util"
|
||||
)
|
||||
|
||||
var Version = "development"
|
||||
@@ -21,10 +22,15 @@ func main() {
|
||||
func run(args []string) {
|
||||
ctx, cancel := cmd.InstallSignals()
|
||||
defer cancel()
|
||||
ctx = logger.ContextSetLogger(ctx, logger.NewLogger())
|
||||
log := logger.NewLogger()
|
||||
ctx = logger.ContextSetLogger(ctx, log)
|
||||
|
||||
err := cmd.NewApp(ctx).Run(args)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("Failed to run F3 with %s: %v", os.Args, err))
|
||||
app := cmd.NewApp(ctx)
|
||||
if err := app.Run(args); err != nil {
|
||||
fmt.Printf("Failed to run F3 with %s\n%v\n", os.Args, err)
|
||||
|
||||
if panicErr, ok := err.(util.PanicError); log.GetLevel() < logger.Info && ok {
|
||||
fmt.Printf("Stack trace\n%s", panicErr.Stack())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user