move credential error handling to fillCredentials()

by the time fillCredentials() is called, git lfs knows that auth is
required. So if git-credential doesn’t return any, always return an
error
This commit is contained in:
risk danger olson 2015-11-18 08:57:09 -07:00
parent 695d0fc25a
commit f5966257bd
3 changed files with 13 additions and 14 deletions

@ -515,16 +515,6 @@ func doApiRequestWithRedirects(req *http.Request, via []*http.Request, useCreds
var creds Creds
if useCreds {
c, err := getCredsForAPI(req)
if c == nil || len(c) < 1 {
errmsg := fmt.Sprintf("Git credentials for %s not found", req.URL)
if err != nil {
errmsg = errmsg + ":\n" + err.Error()
} else {
errmsg = errmsg + "."
}
return nil, errors.New(errmsg)
}
if err != nil {
return nil, err
}

@ -2,6 +2,7 @@ package lfs
import (
"bytes"
"errors"
"fmt"
"net/http"
"net/url"
@ -109,9 +110,17 @@ func fillCredentials(req *http.Request, u *url.URL) (Creds, error) {
}
creds, err := execCreds(input, "fill")
if creds == nil || len(creds) < 1 {
errmsg := fmt.Sprintf("Git credentials for %s not found", u)
if err != nil {
errmsg = errmsg + ":\n" + err.Error()
} else {
errmsg = errmsg + "."
}
err = errors.New(errmsg)
}
if err != nil || creds == nil || len(creds) < 1 {
tracerx.Printf("No credentials for %s", u)
if err != nil {
return nil, err
}

@ -21,10 +21,10 @@ begin_test "attempt private access without credential helper"
GIT_TERMINAL_PROMPT=0 git push origin master 2>&1 | tee push.log
repourl="$GITSERVER/$reponame.git/info/lfs/objects/batch"
grep "Git credentials for $repourl not found" push.log
grep "Git credentials for $GITSERVER/$reponame not found" push.log
)
end_test
exit 0
begin_test "credentials without useHttpPath, with bad path password"
(