Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Phodal
Coca
提交
16ef2479
C
Coca
项目概览
Phodal
/
Coca
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
Coca
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
16ef2479
编写于
12月 21, 2019
作者:
P
Phodal Huang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: fix base path issue for #1
上级
8c972f9d
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
30 addition
and
17 deletion
+30
-17
cmd/git.go
cmd/git.go
+1
-1
core/domain/gitt/gitt.go
core/domain/gitt/gitt.go
+15
-5
core/domain/gitt/models.go
core/domain/gitt/models.go
+1
-1
test/gitt_test.go
test/gitt_test.go
+13
-10
未找到文件。
cmd/git.go
浏览文件 @
16ef2479
...
...
@@ -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"
{
...
...
core/domain/gitt/gitt.go
浏览文件 @
16ef2479
...
...
@@ -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
{
...
...
core/domain/gitt/models.go
浏览文件 @
16ef2479
...
...
@@ -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
...
...
test/gitt_test.go
浏览文件 @
16ef2479
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录