diff options
-rw-r--r-- | cmd/podman/common.go | 12 | ||||
-rw-r--r-- | cmd/podman/container.go | 1 | ||||
-rw-r--r-- | cmd/podman/generate.go | 1 | ||||
-rw-r--r-- | cmd/podman/healthcheck.go | 1 | ||||
-rw-r--r-- | cmd/podman/image.go | 1 | ||||
-rw-r--r-- | cmd/podman/main.go | 4 | ||||
-rw-r--r-- | cmd/podman/play.go | 1 | ||||
-rw-r--r-- | cmd/podman/pod.go | 1 | ||||
-rw-r--r-- | cmd/podman/system.go | 1 | ||||
-rw-r--r-- | cmd/podman/trust.go | 1 | ||||
-rw-r--r-- | cmd/podman/volume.go | 1 | ||||
-rw-r--r-- | docs/podman.1.md | 1 | ||||
-rwxr-xr-x | hack/podman-commands.sh | 3 |
13 files changed, 25 insertions, 4 deletions
diff --git a/cmd/podman/common.go b/cmd/podman/common.go index 2e9586b60..30eaa95d8 100644 --- a/cmd/podman/common.go +++ b/cmd/podman/common.go @@ -67,6 +67,16 @@ func noSubArgs(c *cobra.Command, args []string) error { return nil } +func commandRunE() func(*cobra.Command, []string) error { + return func(cmd *cobra.Command, args []string) error { + if len(args) > 0 { + return errors.Errorf("unrecognized command `%s %s`\nTry '%s --help' for more information.", cmd.CommandPath(), args[0], cmd.CommandPath()) + } else { + return errors.Errorf("missing command '%s COMMAND'\nTry '%s --help' for more information.", cmd.CommandPath(), cmd.CommandPath()) + } + } +} + // getAllOrLatestContainers tries to return the correct list of containers // depending if --all, --latest or <container-id> is used. // It requires the Context (c) and the Runtime (runtime). As different @@ -537,7 +547,7 @@ Description: // This blocks the desplaying of the global options. The main podman // command should not use this. func UsageTemplate() string { - return `Usage:{{if .Runnable}} + return `Usage:{{if (and .Runnable (not .HasAvailableSubCommands))}} {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}} {{.CommandPath}} [command]{{end}}{{if gt (len .Aliases) 0}} diff --git a/cmd/podman/container.go b/cmd/podman/container.go index 0bcdf533a..8ad8d7a44 100644 --- a/cmd/podman/container.go +++ b/cmd/podman/container.go @@ -15,6 +15,7 @@ var ( Short: "Manage Containers", Long: containerDescription, TraverseChildren: true, + RunE: commandRunE(), }, } diff --git a/cmd/podman/generate.go b/cmd/podman/generate.go index 773d625ee..197fd26a6 100644 --- a/cmd/podman/generate.go +++ b/cmd/podman/generate.go @@ -12,6 +12,7 @@ var ( Use: "generate", Short: "Generated structured data", Long: generateDescription, + RunE: commandRunE(), } ) diff --git a/cmd/podman/healthcheck.go b/cmd/podman/healthcheck.go index e7cc125cc..48d6b6bbf 100644 --- a/cmd/podman/healthcheck.go +++ b/cmd/podman/healthcheck.go @@ -11,6 +11,7 @@ var healthcheckCommand = cliconfig.PodmanCommand{ Use: "healthcheck", Short: "Manage Healthcheck", Long: healthcheckDescription, + RunE: commandRunE(), }, } diff --git a/cmd/podman/image.go b/cmd/podman/image.go index 57be7fe14..52bac6ecb 100644 --- a/cmd/podman/image.go +++ b/cmd/podman/image.go @@ -14,6 +14,7 @@ var ( Use: "image", Short: "Manage images", Long: imageDescription, + RunE: commandRunE(), }, } imagesSubCommand cliconfig.ImagesValues diff --git a/cmd/podman/main.go b/cmd/podman/main.go index 97ffa8930..7d4b650a9 100644 --- a/cmd/podman/main.go +++ b/cmd/podman/main.go @@ -82,9 +82,7 @@ var cmdsNotRequiringRootless = map[*cobra.Command]bool{ var rootCmd = &cobra.Command{ Use: "podman", Long: "manage pods and images", - RunE: func(cmd *cobra.Command, args []string) error { - return cmd.Help() - }, + RunE: commandRunE(), PersistentPreRunE: func(cmd *cobra.Command, args []string) error { return before(cmd, args) }, diff --git a/cmd/podman/play.go b/cmd/podman/play.go index 2a0c41ef6..95eae653e 100644 --- a/cmd/podman/play.go +++ b/cmd/podman/play.go @@ -12,6 +12,7 @@ var ( Use: "play", Short: "Play a pod", Long: playDescription, + RunE: commandRunE(), } ) diff --git a/cmd/podman/pod.go b/cmd/podman/pod.go index 315b2e7bc..2d9bca21d 100644 --- a/cmd/podman/pod.go +++ b/cmd/podman/pod.go @@ -13,6 +13,7 @@ var podCommand = cliconfig.PodmanCommand{ Use: "pod", Short: "Manage pods", Long: podDescription, + RunE: commandRunE(), }, } diff --git a/cmd/podman/system.go b/cmd/podman/system.go index 741b79da5..528a594de 100644 --- a/cmd/podman/system.go +++ b/cmd/podman/system.go @@ -13,6 +13,7 @@ var ( Use: "system", Short: "Manage podman", Long: systemDescription, + RunE: commandRunE(), }, } ) diff --git a/cmd/podman/trust.go b/cmd/podman/trust.go index a412e9483..0a79e1570 100644 --- a/cmd/podman/trust.go +++ b/cmd/podman/trust.go @@ -14,6 +14,7 @@ var ( Use: "trust", Short: "Manage container image trust policy", Long: trustDescription, + RunE: commandRunE(), }, } ) diff --git a/cmd/podman/volume.go b/cmd/podman/volume.go index efc0d7ac9..2a071d0c7 100644 --- a/cmd/podman/volume.go +++ b/cmd/podman/volume.go @@ -12,6 +12,7 @@ var volumeCommand = cliconfig.PodmanCommand{ Use: "volume", Short: "Manage volumes", Long: volumeDescription, + RunE: commandRunE(), }, } var volumeSubcommands = []*cobra.Command{ diff --git a/docs/podman.1.md b/docs/podman.1.md index bc03d3c5a..5c930995c 100644 --- a/docs/podman.1.md +++ b/docs/podman.1.md @@ -137,6 +137,7 @@ the exit codes follow the `chroot` standard, see below: | [podman-exec(1)](podman-exec.1.md) | Execute a command in a running container. | | [podman-export(1)](podman-export.1.md) | Export a container's filesystem contents as a tar archive. | | [podman-generate(1)](podman-generate.1.md)| Generate structured data based for a containers and pods. | +| [podman-healthcheck(1)](podman-healthcheck.1.md)| Manage healthchecks for containers | | [podman-history(1)](podman-history.1.md) | Show the history of an image. | | [podman-image(1)](podman-image.1.md) | Manage Images. | | [podman-images(1)](podman-images.1.md) | List images in local storage. | diff --git a/hack/podman-commands.sh b/hack/podman-commands.sh index 754f2923d..eb599763c 100755 --- a/hack/podman-commands.sh +++ b/hack/podman-commands.sh @@ -35,6 +35,9 @@ function podman_man() { # | [podman-cmd(1)\[(podman-cmd.1.md) | Description ... | # For all such, print the 'cmd' portion (the one in brackets). sed -ne 's/^|\s\+\[podman-\([a-z]\+\)(1.*/\1/p' <docs/$1.1.md + + # Special case: there is no podman-help man page, nor need for such. + echo "help" elif [ "$@" = "podman-image-trust" ]; then # Special case: set and show aren't actually in a table in the man page echo set |