11package usercount
22
33import (
4+ "fmt"
45 "log"
56 "strings"
67
@@ -65,7 +66,7 @@ func preRunAzureUserCount(*cobra.Command, []string) error {
6566
6667func createRunAzureUserCountFunc (azureWrapper wrappers.AzureWrapper ) func (cmd * cobra.Command , args []string ) error {
6768 return func (cmd * cobra.Command , args []string ) error {
68- var totalCommits []wrappers.AzureRootCommit
69+ var totalCommits []wrappers.AzureCommit
6970 var err error
7071 var totalContrib uint64 = 0
7172 var views []RepositoryView
@@ -88,9 +89,7 @@ func createRunAzureUserCountFunc(azureWrapper wrappers.AzureWrapper) func(cmd *c
8889 return err
8990 }
9091
91- for _ , commits := range totalCommits {
92- totalContrib += uint64 (len (getUniqueContributorsAzure (commits )))
93- }
92+ totalContrib += uint64 (len (getUniqueContributorsAzure (totalCommits )))
9493
9594 views = append (
9695 views ,
@@ -113,8 +112,8 @@ func createRunAzureUserCountFunc(azureWrapper wrappers.AzureWrapper) func(cmd *c
113112 }
114113}
115114
116- func collectFromAzureRepos (azureWrapper wrappers.AzureWrapper ) ([]wrappers.AzureRootCommit , []RepositoryView , []UserView , error ) {
117- var totalCommits []wrappers.AzureRootCommit
115+ func collectFromAzureRepos (azureWrapper wrappers.AzureWrapper ) ([]wrappers.AzureCommit , []RepositoryView , []UserView , error ) {
116+ var totalCommits []wrappers.AzureCommit
118117 var views []RepositoryView
119118 var viewsUsers []UserView
120119 for _ , org := range AzureOrgs {
@@ -124,8 +123,8 @@ func collectFromAzureRepos(azureWrapper wrappers.AzureWrapper) ([]wrappers.Azure
124123 if err != nil {
125124 return totalCommits , views , viewsUsers , err
126125 }
127- totalCommits = append (totalCommits , commits )
128- uniqueContributors := getUniqueContributorsAzure (commits )
126+ totalCommits = append (totalCommits , commits . Commits ... )
127+ uniqueContributors := getUniqueContributorsAzure (commits . Commits )
129128
130129 // Case there is no organization, project, commits or repos inside the organization
131130 if uint64 (len (uniqueContributors )) > 0 {
@@ -137,12 +136,12 @@ func collectFromAzureRepos(azureWrapper wrappers.AzureWrapper) ([]wrappers.Azure
137136 },
138137 )
139138
140- for name := range uniqueContributors {
139+ for email , name := range uniqueContributors {
141140 viewsUsers = append (
142141 viewsUsers ,
143142 UserView {
144143 Name : buildCountPath (org , project , repo ),
145- UniqueContributorsUsername : name ,
144+ UniqueContributorsUsername : fmt . Sprintf ( "%s - %s" , name , email ) ,
146145 },
147146 )
148147 }
@@ -153,8 +152,8 @@ func collectFromAzureRepos(azureWrapper wrappers.AzureWrapper) ([]wrappers.Azure
153152 return totalCommits , views , viewsUsers , nil
154153}
155154
156- func collectFromAzureProject (azureWrapper wrappers.AzureWrapper ) ([]wrappers.AzureRootCommit , []RepositoryView , []UserView , error ) {
157- var totalCommits []wrappers.AzureRootCommit
155+ func collectFromAzureProject (azureWrapper wrappers.AzureWrapper ) ([]wrappers.AzureCommit , []RepositoryView , []UserView , error ) {
156+ var totalCommits []wrappers.AzureCommit
158157 var views []RepositoryView
159158 var viewsUsers []UserView
160159 for _ , org := range AzureOrgs {
@@ -170,21 +169,21 @@ func collectFromAzureProject(azureWrapper wrappers.AzureWrapper) ([]wrappers.Azu
170169 if err != nil {
171170 return totalCommits , views , viewsUsers , err
172171 }
173- totalCommits = append (totalCommits , commits )
174- uniqueContributors := getUniqueContributorsAzure (commits )
172+ totalCommits = append (totalCommits , commits . Commits ... )
173+ uniqueContributors := getUniqueContributorsAzure (commits . Commits )
175174 views = append (
176175 views ,
177176 RepositoryView {
178177 Name : buildCountPath (org , project , repo .Name ),
179178 UniqueContributors : uint64 (len (uniqueContributors )),
180179 },
181180 )
182- for name := range uniqueContributors {
181+ for email , name := range uniqueContributors {
183182 viewsUsers = append (
184183 viewsUsers ,
185184 UserView {
186185 Name : buildCountPath (org , project , repo .Name ),
187- UniqueContributorsUsername : name ,
186+ UniqueContributorsUsername : fmt . Sprintf ( "%s - %s" , name , email ) ,
188187 },
189188 )
190189 }
@@ -194,8 +193,8 @@ func collectFromAzureProject(azureWrapper wrappers.AzureWrapper) ([]wrappers.Azu
194193 return totalCommits , views , viewsUsers , nil
195194}
196195
197- func collectFromAzureOrg (azureWrapper wrappers.AzureWrapper ) ([]wrappers.AzureRootCommit , []RepositoryView , []UserView , error ) {
198- var totalCommits []wrappers.AzureRootCommit
196+ func collectFromAzureOrg (azureWrapper wrappers.AzureWrapper ) ([]wrappers.AzureCommit , []RepositoryView , []UserView , error ) {
197+ var totalCommits []wrappers.AzureCommit
199198 var views []RepositoryView
200199 var viewsUsers []UserView
201200 // Fetch all the projects within the organization
@@ -216,8 +215,8 @@ func collectFromAzureOrg(azureWrapper wrappers.AzureWrapper) ([]wrappers.AzureRo
216215 if err != nil {
217216 return totalCommits , views , viewsUsers , err
218217 }
219- totalCommits = append (totalCommits , commits )
220- uniqueContributors := getUniqueContributorsAzure (commits )
218+ totalCommits = append (totalCommits , commits . Commits ... )
219+ uniqueContributors := getUniqueContributorsAzure (commits . Commits )
221220
222221 views = append (
223222 views ,
@@ -226,12 +225,12 @@ func collectFromAzureOrg(azureWrapper wrappers.AzureWrapper) ([]wrappers.AzureRo
226225 UniqueContributors : uint64 (len (uniqueContributors )),
227226 },
228227 )
229- for name := range uniqueContributors {
228+ for email , name := range uniqueContributors {
230229 viewsUsers = append (
231230 viewsUsers ,
232231 UserView {
233232 Name : buildCountPath (org , project .Name , repo .Name ),
234- UniqueContributorsUsername : name ,
233+ UniqueContributorsUsername : fmt . Sprintf ( "%s - %s" , name , email ) ,
235234 },
236235 )
237236 }
@@ -241,12 +240,13 @@ func collectFromAzureOrg(azureWrapper wrappers.AzureWrapper) ([]wrappers.AzureRo
241240 return totalCommits , views , viewsUsers , nil
242241}
243242
244- func getUniqueContributorsAzure (commits wrappers.AzureRootCommit ) map [string ]bool {
245- var contributors = map [string ]bool {}
246- for _ , commit := range commits . Commits {
243+ func getUniqueContributorsAzure (commits [] wrappers.AzureCommit ) map [string ]string {
244+ var contributors = map [string ]string {}
245+ for _ , commit := range commits {
247246 name := commit .Author .Name
248- if ! contributors [name ] && ! azureIsNotBot (commit ) {
249- contributors [name ] = true
247+ email := commit .Author .Email
248+ if _ , ok := contributors [email ]; ! ok && ! azureIsNotBot (commit ) {
249+ contributors [email ] = name
250250 }
251251 }
252252 return contributors
0 commit comments