From 0dbcdb66a707dbfb2f4970e153d405e011e18fe8 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Sun, 28 May 2023 13:00:22 +0200 Subject: [PATCH] credentials: Serve(): use "Name instead of "os.Args[0]" for usage output MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GNU guidelines describes; https://www.gnu.org/prep/standards/html_node/_002d_002dversion.html#g_t_002d_002dversion The program’s name should be a constant string; don’t compute it from argv[0]. The idea is to state the standard or canonical name for the program, not its file name. Although the above recommendation is for `--version` output, it probably makes sense to do the same for the "usage" output. Before this change: /usr/local/bin/docker-credential-osxkeychain invalid command Usage: /usr/local/bin/docker-credential-osxkeychain /Applications/Docker.app/Contents/Resources/bin/docker-credential-osxkeychain invalid command Usage: /Applications/Docker.app/Contents/Resources/bin/docker-credential-osxkeychain With this patch: /usr/local/bin/docker-credential-osxkeychain invalid command Usage: docker-credential-osxkeychain /Applications/Docker.app/Contents/Resources/bin/docker-credential-osxkeychain invalid command Usage: docker-credential-osxkeychain Signed-off-by: Sebastiaan van Stijn --- credentials/credentials.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/credentials/credentials.go b/credentials/credentials.go index c2bcfb7..11da850 100644 --- a/credentials/credentials.go +++ b/credentials/credentials.go @@ -51,7 +51,7 @@ func SetCredsLabel(label string) { func Serve(helper Helper) { var err error if len(os.Args) != 2 { - err = fmt.Errorf("Usage: %s ", os.Args[0]) + err = fmt.Errorf("Usage: %s ", Name) } if err == nil {