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

fix: fix author issues

上级 4b354628
......@@ -26,7 +26,12 @@ func BuildCommitMessage() []CommitMessage {
log.Fatalf("cmd.Run() failed with %s\n", err)
}
splitStr := strings.Split(string(out), "\n");
return BuildMessageByInput(string(out))
}
func BuildMessageByInput(inputStr string) []CommitMessage {
commitMessages = nil
splitStr := strings.Split(inputStr, "\n")
for _, str := range splitStr {
ParseLog(str)
}
......@@ -199,7 +204,7 @@ func BasicSummary(commitMessages []CommitMessage) *GitSummary {
return gitSummary
}
func ParseLog(text string) CommitMessage {
func ParseLog(text string) {
// TODO 支持多行提交
rev := `\[([\d|a-f]{5,12})\]`
author := `(.*?)\s\d{4}-\d{2}-\d{2}`
......@@ -223,7 +228,7 @@ func ParseLog(text string) CommitMessage {
msg := strings.Split(str, dat[0])[1]
msg = msg[1:]
currentCommitMessage = *&CommitMessage{id[1], auth[1], dat[0], msg, nil}
currentCommitMessage = *&CommitMessage{id[1], auth[1][1:], dat[0], msg, nil}
} else if changesReg.MatchString(text) {
changes := changesReg.FindStringSubmatch(text)
deleted, _ := strconv.Atoi(changes[2])
......@@ -240,6 +245,4 @@ func ParseLog(text string) CommitMessage {
currentFileChanges = nil
}
}
return currentCommitMessage
}
package test_test
import (
"coca/core/domain/gitt"
. "github.com/onsi/ginkgo"
......@@ -9,15 +8,42 @@ import (
var _ = Describe("Git Parser", func() {
Context("Test for Range", func() {
It("should be a novel", func() {
result := gitt.ParseLog(`
It("support for long commits", func() {
result := gitt.BuildMessageByInput(`
[828fe39523] Rossen Stoyanchev 2019-12-04 Consistently use releaseBody in DefaultWebClient
5 3 spring-webflux/core/main/java/org/springframework/web/reactive/function/client/ClientResponse.java
1 1 spring-webflux/core/main/java/org/springframework/web/reactive/function/client/DefaultWebClient.java
9 3 spring-webflux/core/main/java/org/springframework/web/reactive/function/client/WebClient.java
6 11 core/docs/asciidoc/web/webflux-webclient.adoc
`)
Expect(result.Date).To(Equal("2019-12-04"))
Expect(result[0].Rev).To(Equal("828fe39523"))
Expect(result[0].Date).To(Equal("2019-12-04"))
Expect(result[0].Author).To(Equal("Rossen Stoyanchev"))
Expect(result[0].Message).To(Equal("Consistently use releaseBody in DefaultWebClient"))
})
})
//
// Context("Test for Move file", func() {
// It("should have a current file move update", func() {
// result := gitt.BuildMessageByInput(`
//[d00f04b] Phodal Huang 2019-12-18 refactor: move bs to adapter
//1 1 cmd/bs.go
//5 5 core/{domain => adapter}/bs/BadSmellApp.go
//19 19 core/{domain => adapter}/bs/BadSmellListener.go
//0 0 core/{domain => adapter}/bs/models/BsModel.go
//`)
// Expect(result).To(Equal("2019-12-04"))
// })
//
// 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"))
// })
// })
})
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册