Skip to content

Commit

Permalink
podman version and --version: fix format, exit
Browse files Browse the repository at this point in the history
Three unrelated fixes to version output:

  * podman version --format json: was missing a newline
  * podman version --format TEMPLATE: had too many newlines

  * podman --version: would neither display version nor exit
    if followed by a subcommand ('podman --version ps')

The first two were easy: I used my best tweezers to delicately
pluck and transfer the misplaced \n and place it where needed.

The third was a doozy of a rabbit hole. As best I can tell,
a workaround was added in root.go to override cobra's built-in
Version handling, apparently to avoid having cobra add "-v"
as an alias for "--version". As best I can tell, cobra only
does this if the "-v" shortcut is not already taken (at
least as of Nov 2019: spf13/cobra#996 ).
Also as best I can tell that workaround is purely vestigial,
and removing it is safe. I've manually tested "-v" in podman run,
system df, and rm. I've run system tests.

Signed-off-by: Ed Santiago <[email protected]>
  • Loading branch information
edsantiago committed Sep 15, 2020
1 parent 2eb3339 commit db86ea9
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 8 deletions.
4 changes: 0 additions & 4 deletions cmd/podman/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,6 @@ func init() {
)

rootFlags(rootCmd, registry.PodmanConfig())

// "version" is a local flag to avoid collisions with sub-commands that use "-v"
var dummyVersion bool
rootCmd.Flags().BoolVarP(&dummyVersion, "version", "v", false, "Version of Podman")
}

func Execute() {
Expand Down
5 changes: 1 addition & 4 deletions cmd/podman/system/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,9 @@ func version(cmd *cobra.Command, args []string) error {
if err != nil {
return err
}
_, err = io.WriteString(os.Stdout, s)
_, err = io.WriteString(os.Stdout, s+"\n")
return err
case cmd.Flag("format").Changed:
if !strings.HasSuffix(versionFormat, "\n") {
versionFormat += "\n"
}
out := formats.StdoutTemplate{Output: versions, Template: versionFormat}
err := out.Out()
if err != nil {
Expand Down

0 comments on commit db86ea9

Please sign in to comment.