From 99079cafd2c145877a530ffc3748d44937adf467 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Sun, 28 May 2023 13:41:23 +0200 Subject: [PATCH] credentials: Serve(): implement "--version, -v", and "--help, -h" flags As recommended in the GNU documentation; - https://www.gnu.org/prep/standards/standards.html#g_t_002d_002dversion - https://www.gnu.org/prep/standards/standards.html#g_t_002d_002dhelp With this patch: $ docker-credential-osxkeychain --version docker-credential-osxkeychain (github.com/docker/docker-credential-helpers) v0.7.0-51-g26c426e.m $ docker-credential-osxkeychain -v docker-credential-osxkeychain (github.com/docker/docker-credential-helpers) v0.7.0-51-g26c426e.m $ docker-credential-osxkeychain --help Usage: docker-credential-osxkeychain $ docker-credential-osxkeychain -h Usage: docker-credential-osxkeychain Signed-off-by: Sebastiaan van Stijn --- credentials/credentials.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/credentials/credentials.go b/credentials/credentials.go index 6155e49..b3acd83 100644 --- a/credentials/credentials.go +++ b/credentials/credentials.go @@ -54,6 +54,15 @@ func Serve(helper Helper) { os.Exit(1) } + switch os.Args[1] { + case "--version", "-v": + _ = PrintVersion(os.Stdout) + os.Exit(0) + case "--help", "-h": + _, _ = fmt.Fprintln(os.Stdout, usage()) + os.Exit(0) + } + if err := HandleCommand(helper, os.Args[1], os.Stdin, os.Stdout); err != nil { _, _ = fmt.Fprintln(os.Stdout, err) os.Exit(1)