Fetch a github pull request (#1543)

This commit is contained in:
Theofilos Papapanagiotou 2021-01-22 20:43:39 +01:00 committed by GitHub
parent b3e036aab2
commit 24fd3b2ab0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 19 additions and 2 deletions

View File

@ -67,7 +67,9 @@ func (g *Git) UnpackTarFromBuildContext() (string, error) {
RecurseSubmodules: getRecurseSubmodules(g.opts.GitRecurseSubmodules),
}
if len(parts) > 1 {
options.ReferenceName = plumbing.ReferenceName(parts[1])
if !strings.HasPrefix(parts[1], "refs/pull/") {
options.ReferenceName = plumbing.ReferenceName(parts[1])
}
}
if branch := g.opts.GitBranch; branch != "" {
@ -81,7 +83,22 @@ func (g *Git) UnpackTarFromBuildContext() (string, error) {
logrus.Debugf("Getting source from reference %s", options.ReferenceName)
r, err := git.PlainClone(directory, false, &options)
if err == nil && len(parts) > 2 {
if err != nil {
return directory, err
}
if len(parts) > 1 && strings.HasPrefix(parts[1], "refs/pull/") {
err = r.Fetch(&git.FetchOptions{
RemoteName: "origin",
RefSpecs: []config.RefSpec{config.RefSpec(parts[1] + ":" + parts[1])},
})
if err != nil {
return directory, err
}
}
if len(parts) > 2 {
// ... retrieving the commit being pointed by HEAD
_, err := r.Head()
if err != nil {