Просмотр исходного кода

Fix random order in identity matching

Vadim Markovtsev 7 лет назад
Родитель
Сommit
855a8814af
2 измененных файлов с 4 добавлено и 1 удалено
  1. 3 0
      identity.go
  2. 1 1
      identity_test.go

+ 3 - 0
identity.go

@@ -7,6 +7,7 @@ import (
 
 	"gopkg.in/src-d/go-git.v4"
 	"gopkg.in/src-d/go-git.v4/plumbing/object"
+	"sort"
 )
 
 type IdentityDetector struct {
@@ -137,6 +138,8 @@ func (id *IdentityDetector) GeneratePeopleDict(commits []*object.Commit) {
 	}
 	reverse_dict := make([]string, size)
 	for _, val := range dict {
+		sort.Strings(names[val])
+		sort.Strings(emails[val])
 		reverse_dict[val] = strings.Join(names[val], "|") + "|" + strings.Join(emails[val], "|")
 	}
 	id.PeopleDict = dict

+ 1 - 1
identity_test.go

@@ -130,7 +130,7 @@ func TestGeneratePeopleDict(t *testing.T) {
 	assert.Equal(t, id.PeopleDict["bzz@apache.org"], 1)
 	assert.Equal(t, id.PeopleDict["máximo cuadros"], 2)
 	assert.Equal(t, id.PeopleDict["mcuadros@gmail.com"], 2)
-	assert.Equal(t, id.ReversePeopleDict[0], "vadim markovtsev|vadim@sourced.tech|gmarkhor@gmail.com")
+	assert.Equal(t, id.ReversePeopleDict[0], "vadim markovtsev|gmarkhor@gmail.com|vadim@sourced.tech")
 	assert.Equal(t, id.ReversePeopleDict[1], "alexander bezzubov|bzz@apache.org")
 	assert.Equal(t, id.ReversePeopleDict[2], "máximo cuadros|mcuadros@gmail.com")
 }