devapp: follow-up changes that were not submitted in 50652
Change-Id: I76fb73a033d038d87766793928a4045a3600c517
Reviewed-on: https://go-review.googlesource.com/50770
Reviewed-by: Andrew Bonventre <andybons@golang.org>
diff --git a/devapp/release.go b/devapp/release.go
index 0084524..45af513 100644
--- a/devapp/release.go
+++ b/devapp/release.go
@@ -25,6 +25,9 @@
prefixDev = "[dev."
)
+// titleDirs returns a slice of prefix directories contained in a title. For
+// devapp,maintner: my cool new change, it will return ["devapp", "maintner"].
+// If there is no dir prefix, it will return nil.
func titleDirs(title string) []string {
if i := strings.Index(title, "\n"); i >= 0 {
title = title[:i]
@@ -32,7 +35,7 @@
title = strings.TrimSpace(title)
i := strings.Index(title, ":")
if i < 0 {
- return []string{""}
+ return nil
}
var (
b bytes.Buffer
@@ -103,11 +106,11 @@
major, minor int
}
-type milestones []milestone
+type milestonesByGoVersion []milestone
-func (x milestones) Len() int { return len(x) }
-func (x milestones) Swap(i, j int) { x[i], x[j] = x[j], x[i] }
-func (x milestones) Less(i, j int) bool {
+func (x milestonesByGoVersion) Len() int { return len(x) }
+func (x milestonesByGoVersion) Swap(i, j int) { x[i], x[j] = x[j], x[i] }
+func (x milestonesByGoVersion) Less(i, j int) bool {
a, b := x[i], x[j]
if a.major != b.major {
return a.major < b.major
@@ -133,8 +136,13 @@
for _, r := range cl.GitHubIssueRefs {
issueToCLs[r.Number] = append(issueToCLs[r.Number], cl)
}
- for _, d := range titleDirs(cl.Subject()) {
- dirToCLs[d] = append(dirToCLs[d], cl)
+ dirs := titleDirs(cl.Subject())
+ if len(dirs) == 0 {
+ dirToCLs[""] = append(dirToCLs[""], cl)
+ } else {
+ for _, d := range dirs {
+ dirToCLs[d] = append(dirToCLs[d], cl)
+ }
}
return nil
})
@@ -145,8 +153,13 @@
s.repo.ForeachIssue(func(issue *maintner.GitHubIssue) error {
// Issues in active milestones.
if !issue.Closed && issue.Milestone != nil && !issue.Milestone.Closed {
- for _, d := range titleDirs(issue.Title) {
- dirToIssues[d] = append(dirToIssues[d], issue)
+ dirs := titleDirs(issue.Title)
+ if len(dirs) == 0 {
+ dirToIssues[""] = append(dirToIssues[""], issue)
+ } else {
+ for _, d := range dirs {
+ dirToIssues[d] = append(dirToIssues[d], issue)
+ }
}
}
return nil
@@ -301,7 +314,7 @@
})
return nil
})
- sort.Sort(milestones(ms))
+ sort.Sort(milestonesByGoVersion(ms))
return ms
}