|
|
@ -522,16 +522,22 @@ type UserCommit struct { |
|
|
|
|
|
|
|
|
|
|
|
// ValidCommitsWithEmails checks if authors' e-mails of commits are correcponding to users.
|
|
|
|
// ValidCommitsWithEmails checks if authors' e-mails of commits are correcponding to users.
|
|
|
|
func ValidCommitsWithEmails(oldCommits *list.List) *list.List { |
|
|
|
func ValidCommitsWithEmails(oldCommits *list.List) *list.List { |
|
|
|
|
|
|
|
emails := map[string]string{} |
|
|
|
newCommits := list.New() |
|
|
|
newCommits := list.New() |
|
|
|
e := oldCommits.Front() |
|
|
|
e := oldCommits.Front() |
|
|
|
for e != nil { |
|
|
|
for e != nil { |
|
|
|
c := e.Value.(*git.Commit) |
|
|
|
c := e.Value.(*git.Commit) |
|
|
|
|
|
|
|
|
|
|
|
uname := "" |
|
|
|
uname := "" |
|
|
|
|
|
|
|
if v, ok := emails[c.Author.Email]; !ok { |
|
|
|
u, err := GetUserByEmail(c.Author.Email) |
|
|
|
u, err := GetUserByEmail(c.Author.Email) |
|
|
|
if err == nil { |
|
|
|
if err == nil { |
|
|
|
uname = u.Name |
|
|
|
uname = u.Name |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
emails[c.Author.Email] = uname |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
uname = v |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
newCommits.PushBack(UserCommit{ |
|
|
|
newCommits.PushBack(UserCommit{ |
|
|
|
UserName: uname, |
|
|
|
UserName: uname, |
|
|
|