本文整理汇总了Golang中go/skia/org/infra/go/gitinfo.RepoMap.Repo方法的典型用法代码示例。如果您正苦于以下问题:Golang RepoMap.Repo方法的具体用法?Golang RepoMap.Repo怎么用?Golang RepoMap.Repo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类go/skia/org/infra/go/gitinfo.RepoMap
的用法示例。
在下文中一共展示了RepoMap.Repo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: FindCommitsForBuild
// FindCommitsForBuild determines which commits were first included in the
// given build. Assumes that all previous builds for the given builder/master
// are already in the database.
func FindCommitsForBuild(bf BuildFinder, b *Build, repos *gitinfo.RepoMap) ([]string, int, []string, error) {
defer metrics.NewTimer("buildbot.FindCommitsForBuild").Stop()
// Shortcut: Don't bother computing commit blamelists for trybots.
if IsTrybot(b.Builder) {
return []string{}, -1, []string{}, nil
}
if b.Repository == "" {
return []string{}, -1, []string{}, nil
}
repo, err := repos.Repo(b.Repository)
if err != nil {
return nil, -1, nil, fmt.Errorf("Could not find commits for build: %v", err)
}
// Shortcut for the first build for a given builder: this build must be
// the first inclusion for all revisions prior to b.GotRevision.
if b.Number == 0 && b.GotRevision != "" {
revlist, err := repo.RevList(b.GotRevision)
return revlist, -1, []string{}, err
}
// Start tracing commits back in time until we hit a previous build.
commitMap, stealFrom, stolen, err := findCommitsRecursive(bf, map[string]bool{}, b, b.GotRevision, repo, -1, []string{})
if err != nil {
return nil, -1, nil, err
}
commits := make([]string, 0, len(commitMap))
for c, _ := range commitMap {
commits = append(commits, c)
}
return commits, stealFrom, stolen, nil
}