From eecc09c97430db8fa5a6c12b7255859cf334550d Mon Sep 17 00:00:00 2001 From: ebriney Date: Tue, 14 Feb 2017 22:50:44 +0100 Subject: [PATCH] mac: delete credentials before adding them to avoid already exist error (fixes #37) Signed-off-by: ebriney --- osxkeychain/osxkeychain_darwin.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/osxkeychain/osxkeychain_darwin.go b/osxkeychain/osxkeychain_darwin.go index bd3874c..63d13a8 100644 --- a/osxkeychain/osxkeychain_darwin.go +++ b/osxkeychain/osxkeychain_darwin.go @@ -10,11 +10,12 @@ package osxkeychain import "C" import ( "errors" - "github.com/docker/docker-credential-helpers/credentials" "net/url" "strconv" "strings" "unsafe" + + "github.com/docker/docker-credential-helpers/credentials" ) // errCredentialsNotFound is the specific error message returned by OS X @@ -26,6 +27,8 @@ type Osxkeychain struct{} // Add adds new credentials to the keychain. func (h Osxkeychain) Add(creds *credentials.Credentials) error { + h.Delete(creds.ServerURL) + s, err := splitServer(creds.ServerURL) if err != nil { return err