Checkout SHA of origin/master rather than merging
This commit is contained in:
parent
a0cf485919
commit
b46f0e30b8
1 changed files with 20 additions and 7 deletions
|
@ -82,11 +82,8 @@ func gitCheckout(path, sha string) error {
|
||||||
return runGitCommand(path, []string{"checkout", sha})
|
return runGitCommand(path, []string{"checkout", sha})
|
||||||
}
|
}
|
||||||
|
|
||||||
func gitFetchAndMerge(path string) error {
|
func gitFetch(path string) error {
|
||||||
if err := runGitCommand(path, []string{"fetch"}); err != nil {
|
return runGitCommand(path, []string{"fetch"})
|
||||||
return err
|
|
||||||
}
|
|
||||||
return runGitCommand(path, []string{"merge", "origin/master"})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func runGitCommand(path string, args []string) error {
|
func runGitCommand(path string, args []string) error {
|
||||||
|
@ -145,7 +142,7 @@ type server struct {
|
||||||
// generateAt generates spec from repo at sha.
|
// generateAt generates spec from repo at sha.
|
||||||
// Returns the path where the generation was done.
|
// Returns the path where the generation was done.
|
||||||
func (s *server) generateAt(sha string) (dst string, err error) {
|
func (s *server) generateAt(sha string) (dst string, err error) {
|
||||||
err = gitFetchAndMerge(s.matrixDocCloneURL)
|
err = gitFetch(s.matrixDocCloneURL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -162,11 +159,27 @@ func (s *server) generateAt(sha string) (dst string, err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *server) getSHAOf(ref string) (string, error) {
|
||||||
|
cmd := exec.Command("git", "rev-list", ref, "-n1")
|
||||||
|
cmd.Dir = path.Join(s.matrixDocCloneURL)
|
||||||
|
var b bytes.Buffer
|
||||||
|
cmd.Stdout = &b
|
||||||
|
err := cmd.Run()
|
||||||
|
if err != nil {
|
||||||
|
return "", fmt.Errorf("error generating spec: %v\nOutput from gendoc:\n%v", err, b.String())
|
||||||
|
}
|
||||||
|
return strings.TrimSpace(b.String()), nil
|
||||||
|
}
|
||||||
|
|
||||||
func (s *server) serveSpec(w http.ResponseWriter, req *http.Request) {
|
func (s *server) serveSpec(w http.ResponseWriter, req *http.Request) {
|
||||||
var sha string
|
var sha string
|
||||||
|
|
||||||
if strings.ToLower(req.URL.Path) == "/spec/head" {
|
if strings.ToLower(req.URL.Path) == "/spec/head" {
|
||||||
sha = "HEAD"
|
originHead, err := s.getSHAOf("origin/master")
|
||||||
|
if err != nil {
|
||||||
|
writeError(w, 500, err)
|
||||||
|
}
|
||||||
|
sha = originHead
|
||||||
} else {
|
} else {
|
||||||
pr, err := lookupPullRequest(*req.URL, "/spec")
|
pr, err := lookupPullRequest(*req.URL, "/spec")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue