in git-codereview/pending.go [298:382]
func formatCommit(w io.Writer, c *Commit, short bool) {
g := c.g
if g == nil {
g = new(GerritChange)
}
msg := strings.TrimRight(c.Message, "\r\n")
fmt.Fprintf(w, "%s", c.ShortHash)
var tags []string
if short {
if i := strings.Index(msg, "\n"); i >= 0 {
msg = msg[:i]
}
fmt.Fprintf(w, " %s", msg)
if g.Number != 0 {
tags = append(tags, fmt.Sprintf("CL %d%s", g.Number, codeReviewScores(g)))
}
} else {
if g.Number != 0 {
fmt.Fprintf(w, " %s/%d", auth.url, g.Number)
}
}
if g.CurrentRevision == c.Hash {
tags = append(tags, "mailed")
}
switch g.Status {
case "MERGED":
tags = append(tags, "submitted")
case "ABANDONED":
tags = append(tags, "abandoned")
}
if len(c.Parents) > 1 {
var h []string
for _, p := range c.Parents[1:] {
h = append(h, p[:7])
}
tags = append(tags, "merge="+strings.Join(h, ","))
}
if g.UnresolvedCommentCount > 0 {
tags = append(tags, fmt.Sprintf("%d unresolved comments", g.UnresolvedCommentCount))
}
if len(tags) > 0 {
fmt.Fprintf(w, " (%s)", strings.Join(tags, ", "))
}
fmt.Fprintf(w, "\n")
if short {
return
}
fmt.Fprintf(w, "\t%s\n", strings.Replace(msg, "\n", "\n\t", -1))
fmt.Fprintf(w, "\n")
for _, name := range g.LabelNames() {
label := g.Labels[name]
minValue := 10000
maxValue := -10000
byScore := map[int][]string{}
for _, x := range label.All {
// Hide CL owner unless owner score is nonzero.
if g.Owner != nil && x.ID == g.Owner.ID && x.Value == 0 {
continue
}
byScore[x.Value] = append(byScore[x.Value], x.Name)
if minValue > x.Value {
minValue = x.Value
}
if maxValue < x.Value {
maxValue = x.Value
}
}
// Unless there are scores to report, do not show labels other than Code-Review.
// This hides Run-TryBot and TryBot-Result.
if minValue >= 0 && maxValue <= 0 && name != "Code-Review" {
continue
}
fmt.Fprintf(w, "\t%s:\n", name)
for score := maxValue; score >= minValue; score-- {
who := byScore[score]
if len(who) == 0 || score == 0 && name != "Code-Review" {
continue
}
sort.Strings(who)
fmt.Fprintf(w, "\t\t%+d %s\n", score, strings.Join(who, ", "))
}
}
}