本文整理汇总了Golang中go/skia/org/infra/go/gitinfo.RepoMap.RepoForCommit方法的典型用法代码示例。如果您正苦于以下问题:Golang RepoMap.RepoForCommit方法的具体用法?Golang RepoMap.RepoForCommit怎么用?Golang RepoMap.RepoForCommit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类go/skia/org/infra/go/gitinfo.RepoMap
的用法示例。
在下文中一共展示了RepoMap.RepoForCommit方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: getBuildFromMaster
// getBuildFromMaster retrieves the given build from the build master's JSON
// interface as specified by the master, builder, and build number.
func getBuildFromMaster(master, builder string, buildNumber int, repos *gitinfo.RepoMap) (*Build, error) {
var build Build
url := fmt.Sprintf("%s%s/json/builders/%s/builds/%d", BUILDBOT_URL, master, builder, buildNumber)
err := get(url, &build)
if err != nil {
return nil, fmt.Errorf("Failed to retrieve build #%d for %s: %s", buildNumber, builder, err)
}
build.Branch = build.branch()
build.GotRevision = build.gotRevision()
build.Master = master
build.Builder = builder
slaveProp := build.GetProperty("slavename").([]interface{})
if slaveProp != nil && len(slaveProp) == 3 {
build.BuildSlave = slaveProp[1].(string)
}
build.Started = build.Times[0]
build.Finished = build.Times[1]
propBytes, err := json.Marshal(&build.Properties)
if err != nil {
return nil, fmt.Errorf("Unable to convert build properties to JSON: %s", err)
}
build.PropertiesStr = string(propBytes)
build.Repository = build.repository()
if build.Repository == "" {
// Attempt to determine the repository.
glog.Infof("No repository set for %s #%d; attempting to find it.", build.Builder, build.Number)
r, err := repos.RepoForCommit(build.GotRevision)
if err == nil {
glog.Infof("Found %s for %s", r, build.GotRevision)
build.Repository = r
} else {
glog.Warningf("Encountered error determining repo for %s: %s", build.GotRevision, err)
}
}
// Fixup each step.
for _, s := range build.Steps {
if len(s.ResultsRaw) > 0 {
if s.ResultsRaw[0] == nil {
s.ResultsRaw[0] = 0.0
}
s.Results = int(s.ResultsRaw[0].(float64))
} else {
s.Results = 0
}
s.Started = s.Times[0]
s.Finished = s.Times[1]
}
return &build, nil
}
示例2: getBuildFromMaster
// getBuildFromMaster retrieves the given build from the build master's JSON
// interface as specified by the master, builder, and build number.
func getBuildFromMaster(master, builder string, buildNumber int, repos *gitinfo.RepoMap) (*Build, error) {
var build Build
url := fmt.Sprintf("%s%s/json/builders/%s/builds/%d", BUILDBOT_URL, master, builder, buildNumber)
err := get(url, &build)
if err != nil {
return nil, fmt.Errorf("Failed to retrieve build #%d for %s: %s", buildNumber, builder, err)
}
build.fixup()
if build.Repository == "" {
// Attempt to determine the repository.
glog.Infof("No repository set for %s #%d; attempting to find it.", build.Builder, build.Number)
r, err := repos.RepoForCommit(build.GotRevision)
if err == nil {
glog.Infof("Found %s for %s", r, build.GotRevision)
build.Repository = r
} else {
glog.Warningf("Encountered error determining repo for %s: %s", build.GotRevision, err)
}
}
return &build, nil
}