Skip to content

Commit 36ce460

Browse files
committed
feat: dash implements and repository debug settings.
1 parent 8c0fb20 commit 36ce460

File tree

8 files changed

+346
-57
lines changed

8 files changed

+346
-57
lines changed

cmd/gitlab-flow/commands_dash.go

+24-32
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package main
22

33
import (
44
"fmt"
5+
"os"
56

67
"github.com/yeqown/gitlab-flow/internal/types"
78

@@ -21,26 +22,27 @@ func getDashFeatureDetailSubCommand() *cli.Command {
2122
return &cli.Command{
2223
Name: "feature",
2324
Aliases: []string{"f"},
24-
Usage: "overview of one feature of current project.",
25-
ArgsUsage: "-fb, --feature_branch_name `BranchName`",
25+
Usage: "overview of the feature of current project.",
26+
ArgsUsage: "-b, --branch_name `BranchName`",
2627
Category: "dash",
2728
Flags: []cli.Flag{
2829
&cli.StringFlag{
29-
Name: "feature_branch_name",
30-
Aliases: []string{"fb"},
31-
Usage: "input the target branch name",
32-
Required: false,
30+
Name: "branch_name",
31+
Aliases: []string{"b"},
32+
Usage: "input the target `BranchName`",
33+
DefaultText: "current branch",
34+
Required: false,
3335
},
3436
},
3537
Action: func(c *cli.Context) error {
3638
confPath := c.String("conf_path")
3739
debug := c.Bool("debug")
38-
featureBranchName := c.String("branchName")
40+
featureBranchName := c.String("branch_name")
3941
data, err := getDash(confPath, debug).FeatureDetail(featureBranchName)
4042
if err != nil {
4143
return err
4244
}
43-
fmt.Printf("%s\n", data)
45+
_, _ = fmt.Fprintf(os.Stdout, "%s\n", data)
4446
return nil
4547
},
4648
}
@@ -52,32 +54,32 @@ func getDashMilestoneOverviewSubCommand() *cli.Command {
5254
Name: "milestone",
5355
Aliases: []string{"m"},
5456
Usage: "overview of one milestone, includes: merges, issues, branch",
55-
ArgsUsage: "@milestoneName",
57+
ArgsUsage: "-m, --milestone_name -b --branch_name",
5658
Category: "dash",
5759
Flags: []cli.Flag{
5860
&cli.StringFlag{
5961
Name: "milestone_name",
6062
Aliases: []string{"m"},
61-
Usage: "-m, --milestone_name",
63+
Usage: "input `milestoneName` which you want to get its information",
6264
Required: true,
6365
},
6466
&cli.StringFlag{
65-
Name: "filter_branch",
66-
Aliases: []string{"f"},
67-
Usage: "-f, --filter_branch @branchName default: master",
67+
Name: "branch_name",
68+
Aliases: []string{"b"},
69+
Usage: "filter `branchName`",
6870
DefaultText: types.MasterBranch.String(),
6971
},
7072
},
7173
Action: func(c *cli.Context) error {
7274
milestoneName := c.String("milestone_name")
73-
filterBranchName := c.String("filter_branch")
75+
filterBranchName := c.String("branch_name")
7476
confPath := c.String("conf_path")
7577
debug := c.Bool("debug")
7678
data, err := getDash(confPath, debug).MilestoneOverview(milestoneName, filterBranchName)
7779
if err != nil {
7880
return err
7981
}
80-
fmt.Printf("%s\n", data)
82+
_, _ = fmt.Fprintf(os.Stdout, "%s\n", data)
8183
return nil
8284
},
8385
}
@@ -86,29 +88,19 @@ func getDashMilestoneOverviewSubCommand() *cli.Command {
8688
// gitlab-flow dash project
8789
func getDashProjectDetailSubCommand() *cli.Command {
8890
return &cli.Command{
89-
Name: "project",
90-
Aliases: []string{"p"},
91-
Usage: "-p, --project",
92-
ArgsUsage: "-p @projectName, default current project",
93-
Category: "dash",
94-
Flags: []cli.Flag{
95-
&cli.BoolFlag{
96-
Name: "open_web",
97-
Aliases: []string{"o"},
98-
Usage: "-o, --open_web",
99-
Required: false,
100-
Value: false,
101-
},
102-
},
91+
Name: "project",
92+
Aliases: []string{"p"},
93+
Usage: "do something of current project.",
94+
Category: "dash",
95+
//Flags: []cli.Flag{},
10396
Action: func(c *cli.Context) error {
10497
confPath := c.String("conf_path")
10598
debug := c.Bool("debug")
106-
open := c.Bool("open_web")
107-
data, err := getDash(confPath, debug).ProjectDetail(open)
99+
data, err := getDash(confPath, debug).ProjectDetail()
108100
if err != nil {
109101
return err
110102
}
111-
fmt.Printf("%s\n", data)
103+
_, _ = fmt.Fprintf(os.Stdout, "%s\n", data)
112104
return nil
113105
},
114106
}

cmd/gitlab-flow/support.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,17 @@ import (
1212

1313
func getFlow(confPath string, debug bool) internal.IFlow {
1414
cfg := setEnviron(confPath, debug)
15-
1615
// DONE(@yeqown) get cwd correctly.
1716
cwd, _ := os.Getwd()
1817
ctx := types.NewContext(cwd, confPath, cfg)
1918
return internal.NewFlow(ctx)
2019
}
2120

2221
func getDash(confPath string, debug bool) internal.IDash {
23-
_ = setEnviron(confPath, debug)
24-
25-
return internal.NewDash(confPath, debug)
22+
cfg := setEnviron(confPath, debug)
23+
cwd, _ := os.Getwd()
24+
ctx := types.NewContext(cwd, confPath, cfg)
25+
return internal.NewDash(ctx)
2626
}
2727

2828
// setEnviron set global environment of debug mode.

go.mod

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ require (
66
github.com/AlecAivazis/survey/v2 v2.2.7
77
github.com/cenkalti/backoff/v4 v4.1.0
88
github.com/mattn/go-sqlite3 v1.14.6
9+
github.com/olekukonko/tablewriter v0.0.4
910
github.com/pelletier/go-toml v1.8.1
1011
github.com/pkg/errors v0.9.1
1112
github.com/stretchr/testify v1.6.1

go.sum

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
github.com/AlecAivazis/survey v1.8.8 h1:Y4yypp763E8cbqb5RBqZhGgkCFLRFnbRBHrxnpMMsgQ=
21
github.com/AlecAivazis/survey/v2 v2.2.7 h1:5NbxkF4RSKmpywYdcRgUmos1o+roJY8duCLZXbVjoig=
32
github.com/AlecAivazis/survey/v2 v2.2.7/go.mod h1:9DYvHgXtiXm6nCn+jXnOXLKbH+Yo9u8fAS/SduGdoPk=
43
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
4+
github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8 h1:xzYJEypr/85nBpB11F9br+3HUrpgb+fcm5iADzXXYEw=
55
github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc=
66
github.com/cenkalti/backoff/v4 v4.1.0 h1:c8LkOFQTzuO0WBM/ae5HdGQuZPfPxp7lqBRwQRm4fSc=
77
github.com/cenkalti/backoff/v4 v4.1.0/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
@@ -20,23 +20,29 @@ github.com/hashicorp/go-hclog v0.9.2 h1:CG6TE5H9/JXsFWJCfoIVpKFIkFe6ysEuHirp4DxC
2020
github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
2121
github.com/hashicorp/go-retryablehttp v0.6.4 h1:BbgctKO892xEyOXnGiaAwIoSq1QZ/SS4AhjoAh9DnfY=
2222
github.com/hashicorp/go-retryablehttp v0.6.4/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY=
23+
github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174 h1:WlZsjVhE8Af9IcZDGgJGQpNflI3+MJSBhsgT5PCtzBQ=
2324
github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A=
2425
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
2526
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
2627
github.com/jinzhu/now v1.1.1 h1:g39TucaRWyV3dwDO++eEc6qf8TVIQ/Da48WmqjZ3i7E=
2728
github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
2829
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
2930
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
31+
github.com/kr/pty v1.1.4 h1:5Myjjh3JY/NaAi4IsUbHADytDyl1VE1Y9PXDlL+P/VQ=
3032
github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
3133
github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU=
3234
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
3335
github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE=
3436
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
37+
github.com/mattn/go-runewidth v0.0.7 h1:Ei8KR0497xHyKJPAv59M1dkC+rOZCMBJ+t3fZ+twI54=
38+
github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
3539
github.com/mattn/go-sqlite3 v1.14.5/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI=
3640
github.com/mattn/go-sqlite3 v1.14.6 h1:dNPt6NO46WmLVt2DLNpwczCmdV5boIZ6g/tlDrlRUbg=
3741
github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
3842
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4=
3943
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
44+
github.com/olekukonko/tablewriter v0.0.4 h1:vHD/YYe1Wolo78koG299f7V/VAS08c6IpCLn+Ejf/w8=
45+
github.com/olekukonko/tablewriter v0.0.4/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA=
4046
github.com/pelletier/go-toml v1.8.1 h1:1Nf83orprkJyknT6h7zbuEGUEjcyVlCxSUGTENmNCRM=
4147
github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc=
4248
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
@@ -53,7 +59,6 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf
5359
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
5460
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
5561
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
56-
github.com/urfave/cli v1.22.5 h1:lNq9sAHXK2qfdI8W+GRItjCEkI+2oR4d+MEHy1CKXoU=
5762
github.com/urfave/cli/v2 v2.3.0 h1:qph92Y649prgesehzOrQjdWyxFOp/QVM+6imKHad91M=
5863
github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI=
5964
github.com/xanzy/go-gitlab v0.42.0 h1:daNdMFnw2FG+lDRBcX+YLnKbqIKMdefVyVztMHwsFhk=

internal/dash.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ type IDash interface {
77
FeatureDetail(featureBranchName string) ([]byte, error)
88

99
// MilestoneOverview get milestone detail
10-
MilestoneOverview(milestoneName, mergeRequestURLs string) ([]byte, error)
10+
MilestoneOverview(milestoneName, branchFilter string) ([]byte, error)
1111

1212
// ProjectDetail display project detail
13-
ProjectDetail(openWeb bool) ([]byte, error)
13+
ProjectDetail() ([]byte, error)
1414
}

0 commit comments

Comments
 (0)