build: deduplicate same authors with different casing
This commit is contained in:
@ -275,27 +275,32 @@ func mailmapLookup(authors []string) []string {
|
||||
}
|
||||
|
||||
func writeAuthors(files []string) {
|
||||
merge := make(map[string]bool)
|
||||
var (
|
||||
dedup = make(map[string]bool)
|
||||
list []string
|
||||
)
|
||||
// Add authors that Git reports as contributors.
|
||||
// This is the primary source of author information.
|
||||
for _, a := range gitAuthors(files) {
|
||||
merge[a] = true
|
||||
if la := strings.ToLower(a); !dedup[la] {
|
||||
list = append(list, a)
|
||||
dedup[la] = true
|
||||
}
|
||||
}
|
||||
// Add existing authors from the file. This should ensure that we
|
||||
// never lose authors, even if Git stops listing them. We can also
|
||||
// add authors manually this way.
|
||||
for _, a := range readAuthors() {
|
||||
merge[a] = true
|
||||
if la := strings.ToLower(a); !dedup[la] {
|
||||
list = append(list, a)
|
||||
dedup[la] = true
|
||||
}
|
||||
}
|
||||
// Write sorted list of authors back to the file.
|
||||
var result []string
|
||||
for a := range merge {
|
||||
result = append(result, a)
|
||||
}
|
||||
sort.Sort(authors(result))
|
||||
sort.Sort(authors(list))
|
||||
content := new(bytes.Buffer)
|
||||
content.WriteString(authorsFileHeader)
|
||||
for _, a := range result {
|
||||
for _, a := range list {
|
||||
content.WriteString(a)
|
||||
content.WriteString("\n")
|
||||
}
|
||||
|
Reference in New Issue
Block a user