diff options
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/podman/main.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/cmd/podman/main.go b/cmd/podman/main.go index 929c8a757..c6ba69e94 100644 --- a/cmd/podman/main.go +++ b/cmd/podman/main.go @@ -1,6 +1,7 @@ package main import ( + "errors" "fmt" "os" @@ -26,6 +27,7 @@ import ( "github.com/containers/storage/pkg/reexec" "github.com/sirupsen/logrus" "github.com/spf13/cobra" + "github.com/spf13/pflag" ) func main() { @@ -101,6 +103,13 @@ func parseCommands() *cobra.Command { } func flagErrorFuncfunc(c *cobra.Command, e error) error { + // cobra compares via == and not errors.Is so we cannot wrap that error. + // This is required to make podman -h work. + // This can be removed once https://github.com/spf13/cobra/pull/1730 + // is merged and vendored into podman. + if errors.Is(e, pflag.ErrHelp) { + return e + } e = fmt.Errorf("%w\nSee '%s --help'", e, c.CommandPath()) return e } |