Fetch a github pull request (#1543)
This commit is contained in:
parent
b3e036aab2
commit
24fd3b2ab0
|
|
@ -67,7 +67,9 @@ func (g *Git) UnpackTarFromBuildContext() (string, error) {
|
||||||
RecurseSubmodules: getRecurseSubmodules(g.opts.GitRecurseSubmodules),
|
RecurseSubmodules: getRecurseSubmodules(g.opts.GitRecurseSubmodules),
|
||||||
}
|
}
|
||||||
if len(parts) > 1 {
|
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 != "" {
|
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)
|
logrus.Debugf("Getting source from reference %s", options.ReferenceName)
|
||||||
r, err := git.PlainClone(directory, false, &options)
|
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
|
// ... retrieving the commit being pointed by HEAD
|
||||||
_, err := r.Head()
|
_, err := r.Head()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue