Просмотр исходного кода

Solving error on authentication

Eduardo Argollo 6 лет назад
Родитель
Сommit
faeb0914b2
1 измененных файлов с 10 добавлено и 2 удалено
  1. 10 2
      src/repo.go

+ 10 - 2
src/repo.go

@@ -15,6 +15,7 @@ import (
 	diffType "gopkg.in/src-d/go-git.v4/plumbing/format/diff"
 	diffType "gopkg.in/src-d/go-git.v4/plumbing/format/diff"
 	"gopkg.in/src-d/go-git.v4/plumbing/object"
 	"gopkg.in/src-d/go-git.v4/plumbing/object"
 	"gopkg.in/src-d/go-git.v4/plumbing/storer"
 	"gopkg.in/src-d/go-git.v4/plumbing/storer"
+	gitHttp "gopkg.in/src-d/go-git.v4/plumbing/transport/http"
 	"gopkg.in/src-d/go-git.v4/storage/memory"
 	"gopkg.in/src-d/go-git.v4/storage/memory"
 )
 )
 
 
@@ -98,10 +99,17 @@ func (repoInfo *RepoInfo) clone() error {
 				Auth:     config.sshAuth,
 				Auth:     config.sshAuth,
 			})
 			})
 		} else {
 		} else {
-			repo, err = git.Clone(memory.NewStorage(), nil, &git.CloneOptions{
+			options := &git.CloneOptions{
 				URL:      opts.Repo,
 				URL:      opts.Repo,
 				Progress: os.Stdout,
 				Progress: os.Stdout,
-			})
+			}
+			if os.Getenv("GITHUB_TOKEN") != "" {
+				options.Auth = &gitHttp.BasicAuth{
+					Username: "fakeUsername", // yes, this can be anything except an empty string
+					Password: os.Getenv("GITHUB_TOKEN"),
+				}
+			}
+			repo, err = git.Clone(memory.NewStorage(), nil, options)
 		}
 		}
 	}
 	}
 	repoInfo.repository = repo
 	repoInfo.repository = repo