未验证 提交 16ef2479 编写于 作者: P Phodal Huang

fix: fix base path issue for #1

上级 8c972f9d
......@@ -52,7 +52,7 @@ var gitCmd *cobra.Command = &cobra.Command{
for _, v := range teamSummary {
table.Append([]string{v.EntityName, strconv.Itoa(v.RevsCount), strconv.Itoa(v.AuthorCount)})
}
table.Render()
//table.Render()
}
if cmd.Flag("age").Value.String() == "true" {
......
......@@ -87,12 +87,13 @@ func CalculateCodeAge(messages []CommitMessage) []CodeAgeDisplay {
}
func GetTeamSummary(messages []CommitMessage) []TeamSummary {
infos := make(map[string]TeamInformation)
infos := make(map[string]ProjectInfo)
for _, commitMessage := range messages {
for _, change := range commitMessage.Changes {
fileName := change.File
if moveReg.MatchString(fileName) {
infos, fileName = switchFile(infos, fileName)
fmt.Println(fileName, infos[fileName].EntityName)
}
if infos[fileName].EntityName == "" {
......@@ -101,7 +102,7 @@ func GetTeamSummary(messages []CommitMessage) []TeamSummary {
revs := make(map[string]string)
revs[commitMessage.Rev] = commitMessage.Rev
infos[fileName] = *&TeamInformation{fileName, authors, revs}
infos[fileName] = *&ProjectInfo{fileName, authors, revs}
} else {
infos[fileName].Authors[commitMessage.Author] = commitMessage.Author
infos[fileName].Revs[commitMessage.Rev] = commitMessage.Rev
......@@ -122,11 +123,20 @@ func GetTeamSummary(messages []CommitMessage) []TeamSummary {
}
// 反向查询
func switchFile(infos map[string]TeamInformation, changedFile string) (map[string]TeamInformation, string) {
func switchFile(infos map[string]ProjectInfo, changedFile string) (map[string]ProjectInfo, string) {
changed := moveReg.FindStringSubmatch(changedFile)
// examples: cmd/{call_graph.go => call.go}
if len(changed) >= 5 {
oldFileName := changed[1] + changed[2] + changed[4]
SUCCESS_MATCH_LENGTH := 5
if len(changed) == SUCCESS_MATCH_LENGTH {
var oldLastChanged = changed[4]
// TODO: support for Windows rename
if changed[2] == "" {
if strings.HasPrefix(oldLastChanged, "/") {
oldLastChanged = oldLastChanged[1:]
}
}
oldFileName := changed[1] + changed[2] + oldLastChanged
newFileName := changed[1] + changed[3] + changed[4]
if _, ok := infos[oldFileName]; ok {
......
......@@ -18,7 +18,7 @@ type TeamSummary struct {
RevsCount int
}
type TeamInformation struct {
type ProjectInfo struct {
EntityName string
Authors map[string]string
Revs map[string]string
......
......@@ -65,15 +65,18 @@ var _ = Describe("Git Parser", func() {
})
// It("should update child", func() {
// result := gitt.BuildMessageByInput(`
//[ef9165c] Phodal Huang 2019-12-18 fefactor: extract vars
//13 11 cmd/analysis.go
//10 8 cmd/api.go
//0 0 cmd/{call_graph.go => call.go}
//0 0 cmd/{git_cmd.go => git.go}
//`)
// Expect(result).To(Equal("2019-12-04"))
// })
It("should update child", func() {
result := gitt.BuildMessageByInput(`
[ef9165d] Phodal Huang 2019-12-18 fefactor: extract vars
0 0 adapter/JavaCallListener.go
[ef9165c] Phodal Huang 2019-12-18 fefactor: extract vars
0 0 adapter/{ => call}/JavaCallListener.go
`)
summary := gitt.GetTeamSummary(result)
Expect(summary[0].EntityName).To(Equal("adapter/call/JavaCallListener.go"))
Expect(len(summary)).To(Equal(1))
})
})
})
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册