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

feat: add basic git summary

上级 8a88136c
package cmd
import (
"encoding/json"
. "github.com/phodal/coca/core/domain/gitt"
"fmt"
"github.com/olekukonko/tablewriter"
"github.com/phodal/coca/core/support"
"github.com/spf13/cobra"
"io/ioutil"
"log"
......@@ -22,12 +24,14 @@ var (
gitCmdConfig GitCmdConfig
)
var gitCmd *cobra.Command = &cobra.Command{
var gitCmd = &cobra.Command{
Use: "git",
Short: "git analysis",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
message := BuildMessageByInput(getCommitMessage())
commitMessages := BuildMessageByInput(getCommitMessage())
cModel, _ := json.MarshalIndent(commitMessages, "", "\t")
support.WriteToCocaFile("commits.json", string(cModel))
isFullMessage := cmd.Flag("full").Value.String() == "true"
size := *&gitCmdConfig.Size
......@@ -35,7 +39,7 @@ var gitCmd *cobra.Command = &cobra.Command{
if cmd.Flag("basic").Value.String() == "true" {
table := tablewriter.NewWriter(os.Stdout)
basicSummary := BasicSummary(message)
basicSummary := BasicSummary(commitMessages)
table.SetHeader([]string{"Statistic", "Number"})
table.Append([]string{"Commits", strconv.Itoa(basicSummary.Commits)})
table.Append([]string{"Entities", strconv.Itoa(basicSummary.Entities)})
......@@ -47,7 +51,7 @@ var gitCmd *cobra.Command = &cobra.Command{
if cmd.Flag("team").Value.String() == "true" {
table := tablewriter.NewWriter(os.Stdout)
teamSummary := GetTeamSummary(message)
teamSummary := GetTeamSummary(commitMessages)
table.SetHeader([]string{"EntityName", "RevsCount", "AuthorCount"})
if len(teamSummary) > size && isFullMessage {
......@@ -62,7 +66,7 @@ var gitCmd *cobra.Command = &cobra.Command{
if cmd.Flag("age").Value.String() == "true" {
table := tablewriter.NewWriter(os.Stdout)
ages := CalculateCodeAge(message)
ages := CalculateCodeAge(commitMessages)
var agesDisplay []CodeAgeDisplay
for _, info := range ages {
const secondsOfOneMonth = 2600640
......@@ -85,7 +89,7 @@ var gitCmd *cobra.Command = &cobra.Command{
if cmd.Flag("top").Value.String() == "true" {
table := tablewriter.NewWriter(os.Stdout)
authors := GetTopAuthors(message)
authors := GetTopAuthors(commitMessages)
table.SetHeader([]string{"Author", "CommitCount", "LineCount"})
if len(authors) > size && isFullMessage {
......@@ -104,8 +108,8 @@ var gitCmd *cobra.Command = &cobra.Command{
return
}
GetRelatedFiles(message, config)
//results := GetRelatedFiles(message, config)
GetRelatedFiles(commitMessages, config)
//results := GetRelatedFiles(commitMessages, config)
//fmt.Println(results)
}
},
......
......@@ -46,7 +46,7 @@ func BuildMessageByInput(inputStr string) []CommitMessage {
func CalculateCodeAge(messages []CommitMessage) []ProjectInfo {
infos := make(map[string]ProjectInfo)
buildCommitMessageMap(messages, infos)
BuildCommitMessageMap(messages, infos)
var agesArray []ProjectInfo
for _, info := range infos {
......@@ -62,7 +62,7 @@ func CalculateCodeAge(messages []CommitMessage) []ProjectInfo {
func GetTeamSummary(messages []CommitMessage) []TeamSummary {
infos := make(map[string]ProjectInfo)
infos = buildCommitMessageMap(messages, infos)
infos = BuildCommitMessageMap(messages, infos)
var sortInfos []TeamSummary
for _, info := range infos {
......@@ -76,7 +76,7 @@ func GetTeamSummary(messages []CommitMessage) []TeamSummary {
return sortInfos
}
func buildCommitMessageMap(messages []CommitMessage, infos map[string]ProjectInfo) map[string]ProjectInfo {
func BuildCommitMessageMap(messages []CommitMessage, infos map[string]ProjectInfo) map[string]ProjectInfo {
timeFormat := "2006-01-02"
for _, commitMessage := range messages {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册