Merge branch '554-master' into usehttppath-tests
This commit is contained in:
commit
7ee5f661a8
@ -653,7 +653,29 @@ func getCreds(req *http.Request) (Creds, error) {
|
||||
}
|
||||
}
|
||||
|
||||
creds, err := credentials(req.URL)
|
||||
credsUrl := apiUrl
|
||||
if len(Config.CurrentRemote) > 0 {
|
||||
if u, ok := Config.GitConfig("remote." + Config.CurrentRemote + ".url"); ok {
|
||||
gitRemoteUrl, err := url.Parse(u)
|
||||
|
||||
if err == nil &&
|
||||
gitRemoteUrl.Scheme == apiUrl.Scheme &&
|
||||
gitRemoteUrl.Host == apiUrl.Host {
|
||||
|
||||
if gitRemoteUrl.User != nil {
|
||||
if pass, ok := gitRemoteUrl.User.Password(); ok {
|
||||
fmt.Fprintln(os.Stderr, "warning: current Git remote contains credentials")
|
||||
setRequestAuth(req, gitRemoteUrl.User.Username(), pass)
|
||||
return nil, nil
|
||||
}
|
||||
}
|
||||
|
||||
credsUrl = gitRemoteUrl
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
creds, err := credentials(credsUrl)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -17,7 +17,8 @@ type credentialFunc func(Creds, string) (credentialFetcher, error)
|
||||
var execCreds credentialFunc
|
||||
|
||||
func credentials(u *url.URL) (Creds, error) {
|
||||
creds := Creds{"protocol": u.Scheme, "host": u.Host}
|
||||
path := strings.TrimPrefix(u.Path, "/")
|
||||
creds := Creds{"protocol": u.Scheme, "host": u.Host, "path": path}
|
||||
cmd, err := execCreds(creds, "fill")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
Loading…
Reference in New Issue
Block a user