Skip to content

Commit 6783f33

Browse files
author
mritd
authored
Merge pull request #8 from mritd/develop
v0.0.2 release
2 parents 18a5d4b + fb80885 commit 6783f33

File tree

12 files changed

+163
-126
lines changed

12 files changed

+163
-126
lines changed

.chglog/CHANGELOG.tpl.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
1+
## {{if .Versions}}[Unreleased]{{end}}
12
{{range .Versions}}
23
<a name="{{.Tag.Name}}"></a>
3-
## {{if .Tag.Previous}}[{{.Tag.Name}}]({{$.Info.RepositoryURL}}/compare/{{.Tag.Previous.Name}}...{{.Tag.Name}}){{else}}{{.Tag.Name}}{{end}}
4-
5-
> {{datetime "2006-01-02" .Tag.Date}}
6-
{{range .CommitGroups}}
7-
### {{.Title}}
8-
{{range .Commits}}
9-
* {{if .Scope}}**{{.Scope}}:** {{end}}{{.Subject}}{{end}}
4+
## {{if .Tag.Previous}}[{{.Tag.Name}}]{{else}}{{.Tag.Name}}{{end}} - {{datetime "2006-01-02" .Tag.Date}}{{range .CommitGroups}}
5+
### {{.Title}}{{range .Commits}}
6+
- {{if .Scope}}**{{.Scope}}:** {{end}}{{.Subject}}{{end}}
7+
{{end}}{{if .RevertCommits}}
8+
### Reverts{{range .RevertCommits}}
9+
- {{.Revert.Header}}{{end}}
1010
{{end}}{{range .NoteGroups}}
1111
### {{.Title}}
1212
{{range .Notes}}
1313
{{.Body}}
1414
{{end}}
15+
{{end}}{{end}}{{if .Versions}}
16+
[Unreleased]: {{.Info.RepositoryURL}}/compare/{{$latest := index .Versions 0}}{{$latest.Tag.Name}}...HEAD{{range .Versions}}{{if .Tag.Previous}}
17+
[{{.Tag.Name}}]: {{$.Info.RepositoryURL}}/compare/{{.Tag.Previous.Name}}...{{.Tag.Name}}{{end}}{{end}}
1518
{{end}}
16-
{{end}}

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@
1313
# Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736
1414
.glide/
1515
.idea
16-
16+
gitflow-toolkit
1717
dist

CHANGELOG.md

Lines changed: 63 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,78 @@
1+
## [Unreleased]
12

23
<a name="v0.0.1"></a>
3-
## v0.0.1
4-
5-
> 2018-04-28
6-
4+
## v0.0.1 - 2018-04-26
75
### Chore
8-
9-
* **0.0.1:** 更新依赖
10-
* **release:** add release script
6+
- **0.0.1:** 更新依赖
7+
- **release:** add release script
118

129
### Docs
13-
14-
* **changelog:** add changelog
15-
* **readme:** update readme
16-
* **readme:** update readme
10+
- **readme:** update readme
11+
- **readme:** update readme
1712

1813
### Feat
19-
20-
* **0.0.1:** 增加 mr 基础配置保存方法
21-
* **0.0.1:** 增加 -f 选项
22-
* **0.0.1:** 增加 git 项目检测、暂存区检测
23-
* **0.0.1:** 增加根据文件名执行功能
24-
* **0.0.1:** 增加 commit message 信息检测
25-
* **0.0.1:** 增加提交信息检测,调整文件结构
26-
* **0.0.1:** 增加安装命令
27-
* **0.0.1:** 增加安装命令
28-
* **0.0.1:** 尝试兼容 windows
29-
* **0.0.1:** 移除 windows 支持
30-
* **0.0.1:** 增加卸载命令
31-
* **0.0.1:** 增加卸载命令
32-
* **0.0.1:** merge
33-
* **0.0.1:** 调整 commit message 正则
34-
* **0.0.1:** 切换到 glide
35-
* **0.0.1:** 更优雅的进行命令查找
36-
* **0.0.1:** 移动 git 相关操作
37-
* **0.0.1:** 增加 mr 指令
38-
* **0.0.1:** 更新包名
39-
* **0.0.1:** 增加分支创建命令
40-
* **0.0.1:** rename mr to xmr
41-
* **0.0.1:** 完善 mr 逻辑
42-
* **0.0.1:** 卸载时增加 root 权限判断
43-
* **0.0.1:** 增加一些 mr 预处理方法
44-
* **0.0.1:** 增加获取当前仓库信息
45-
* **0.0.1:** 增加提交
46-
* **example:** 增加 example 图片
47-
* **gitignore:** 增加排除目录
48-
* **gitlab:** update gitlab
49-
* **hotfix:** add hotfix command
50-
* **install:** 放弃兼容 windows
51-
* **prompt:** 支持自定义 err message
52-
* **prompt:** 增加 select 组件
53-
* **prompt:** 切换 提示库
54-
* **prompt:** 完善提示库
55-
* **prompt:** 尝试增加 select 功能
56-
* **prompt:** 完善提示库
57-
* **prompt:** 调整交互库
58-
* **prompt:** 使用自定义 prompt
59-
* **prompt:** update promptx
60-
* **readline:** 更新 readline,实现屏蔽终端声音
61-
* **select:** 调整终端颜色
62-
* **subject:** 调整 subject 长度限制
63-
* **test:** 删除测试代码注释
14+
- **0.0.1:** 增加 mr 基础配置保存方法
15+
- **0.0.1:** 增加 -f 选项
16+
- **0.0.1:** 增加 git 项目检测、暂存区检测
17+
- **0.0.1:** 增加根据文件名执行功能
18+
- **0.0.1:** 增加 commit message 信息检测
19+
- **0.0.1:** 增加提交信息检测,调整文件结构
20+
- **0.0.1:** 增加安装命令
21+
- **0.0.1:** 增加安装命令
22+
- **0.0.1:** 尝试兼容 windows
23+
- **0.0.1:** 移除 windows 支持
24+
- **0.0.1:** 增加卸载命令
25+
- **0.0.1:** 增加卸载命令
26+
- **0.0.1:** merge
27+
- **0.0.1:** 调整 commit message 正则
28+
- **0.0.1:** 切换到 glide
29+
- **0.0.1:** 更优雅的进行命令查找
30+
- **0.0.1:** 移动 git 相关操作
31+
- **0.0.1:** 增加 mr 指令
32+
- **0.0.1:** 更新包名
33+
- **0.0.1:** 增加分支创建命令
34+
- **0.0.1:** rename mr to xmr
35+
- **0.0.1:** 完善 mr 逻辑
36+
- **0.0.1:** 卸载时增加 root 权限判断
37+
- **0.0.1:** 增加一些 mr 预处理方法
38+
- **0.0.1:** 增加获取当前仓库信息
39+
- **0.0.1:** 增加提交
40+
- **example:** 增加 example 图片
41+
- **gitignore:** 增加排除目录
42+
- **gitlab:** update gitlab
43+
- **hotfix:** add hotfix command
44+
- **install:** 放弃兼容 windows
45+
- **prompt:** 支持自定义 err message
46+
- **prompt:** 增加 select 组件
47+
- **prompt:** 切换 提示库
48+
- **prompt:** 完善提示库
49+
- **prompt:** 尝试增加 select 功能
50+
- **prompt:** 完善提示库
51+
- **prompt:** 调整交互库
52+
- **prompt:** 使用自定义 prompt
53+
- **prompt:** update promptx
54+
- **readline:** 更新 readline,实现屏蔽终端声音
55+
- **select:** 调整终端颜色
56+
- **subject:** 调整 subject 长度限制
57+
- **test:** 删除测试代码注释
6458

6559
### Fix
66-
67-
* **0.0.1:** 修复子命令执行失败
68-
* **0.0.1:** 修复全局替换错误
69-
* **0.0.1:** 修复选择列表渲染
70-
* **0.0.1:** 增加对自动 merge 消息的兼容
71-
* **0.0.1:** 删除无用的配置文件初始化代码
72-
* **bell:** 修正回车后响铃问题
73-
* **ci editor:** fix ci editor exit
74-
* **commit message:** fix commit message regular
75-
* **os edit:** fix ci os editor
60+
- **0.0.1:** 修复子命令执行失败
61+
- **0.0.1:** 修复全局替换错误
62+
- **0.0.1:** 修复选择列表渲染
63+
- **0.0.1:** 增加对自动 merge 消息的兼容
64+
- **0.0.1:** 删除无用的配置文件初始化代码
65+
- **bell:** 修正回车后响铃问题
66+
- **ci editor:** fix ci editor exit
67+
- **commit message:** fix commit message regular
68+
- **os edit:** fix ci os editor
7669

7770
### Perf
78-
79-
* **0.0.1:** 优化代码
71+
- **0.0.1:** 优化代码
8072

8173
### Style
74+
- **0.0.1:** 格式化代码
75+
- **0.0.1:** format
8276

83-
* **0.0.1:** 格式化代码
84-
* **0.0.1:** format
77+
[Unreleased]: https://github.com/mritd/gitflow-toolkit/compare/v0.0.1...HEAD
8578

cmd/ps.go

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// Copyright © 2018 mritd <[email protected]>
2+
//
3+
// Permission is hereby granted, free of charge, to any person obtaining a copy
4+
// of this software and associated documentation files (the "Software"), to deal
5+
// in the Software without restriction, including without limitation the rights
6+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7+
// copies of the Software, and to permit persons to whom the Software is
8+
// furnished to do so, subject to the following conditions:
9+
//
10+
// The above copyright notice and this permission notice shall be included in
11+
// all copies or substantial portions of the Software.
12+
//
13+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19+
// THE SOFTWARE.
20+
21+
package cmd
22+
23+
import (
24+
"github.com/mritd/gitflow-toolkit/pkg/util"
25+
"github.com/spf13/cobra"
26+
)
27+
28+
func NewPs() *cobra.Command {
29+
return &cobra.Command{
30+
Use: "ps",
31+
Short: "推送本地分支",
32+
Long: `
33+
将本地分支推送到远程`,
34+
Aliases: []string{"git-ps"},
35+
Run: func(cmd *cobra.Command, args []string) {
36+
util.Push()
37+
},
38+
}
39+
}

cmd/root.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ func init() {
6262
RootCmd.AddCommand(NewChore())
6363
RootCmd.AddCommand(NewInstall())
6464
RootCmd.AddCommand(NewUninstall())
65+
RootCmd.AddCommand(NewPs())
6566
}
6667

6768
func initConfig() {

main.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ func commandFor(basename string, rootCommand *cobra.Command) *cobra.Command {
4141
}
4242

4343
func main() {
44-
4544
basename := filepath.Base(os.Args[0])
4645
util.CheckAndExit(commandFor(basename, cmd.RootCmd).Execute())
4746
}

pkg/commit/ci.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ func InputScope() string {
8080
}
8181
}, "Scope:")
8282

83-
return p.Run()
83+
return strings.TrimSpace(p.Run())
8484

8585
}
8686

@@ -97,7 +97,7 @@ func InputSubject() string {
9797
}
9898
}, "Subject:")
9999

100-
return p.Run()
100+
return strings.TrimSpace(p.Run())
101101
}
102102

103103
// 输入完整提交信息
@@ -107,7 +107,7 @@ func InputBody() string {
107107
return nil
108108
}, "Body:")
109109

110-
body := p.Run()
110+
body := strings.TrimSpace(p.Run())
111111
if body == "big" {
112112
return util.OSEditInput()
113113
}
@@ -122,7 +122,7 @@ func InputFooter() string {
122122
return nil
123123
}, "Footer:")
124124

125-
return p.Run()
125+
return strings.TrimSpace(p.Run())
126126
}
127127

128128
// 生成 SOB 签名

pkg/commit/cm.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ func CheckCommitMessage(args []string) {
3838
case string(consts.TEST):
3939
case string(consts.CHORE):
4040
case string(consts.PERF):
41+
case string(consts.HOTFIX):
4142
default:
4243
if !strings.HasPrefix(string(b), "Merge branch") {
4344
checkFailed()

pkg/util/common.go

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ func BinPaths() *[]string {
5959
InstallBaseDir + "/git-hotfix",
6060
InstallBaseDir + "/git-xmr",
6161
InstallBaseDir + "/git-xpr",
62+
InstallBaseDir + "/git-ps",
6263
}
6364
}
6465

@@ -78,33 +79,32 @@ func CheckAndExit(err error) {
7879

7980
func MustExec(name string, arg ...string) {
8081
cmd := exec.Command(name, arg...)
81-
b, err := cmd.CombinedOutput()
82-
if err != nil {
83-
fmt.Println(string(b))
84-
os.Exit(1)
85-
}
82+
cmd.Stdin = os.Stdin
83+
cmd.Stdout = os.Stdout
84+
cmd.Stderr = os.Stderr
85+
CheckAndExit(cmd.Run())
8686
}
8787

8888
func MustExecRtOut(name string, arg ...string) string {
8989
cmd := exec.Command(name, arg...)
90-
b, err := cmd.CombinedOutput()
90+
cmd.Stdin = os.Stdin
91+
cmd.Stderr = os.Stderr
92+
b, err := cmd.Output()
9193
if err != nil {
92-
fmt.Println(string(b))
94+
fmt.Print(err)
9395
os.Exit(1)
9496
}
9597
return string(b)
9698
}
9799

98100
func MustExecNoOut(name string, arg ...string) {
99101
cmd := exec.Command(name, arg...)
102+
cmd.Stderr = os.Stderr
100103
CheckAndExit(cmd.Run())
101104
}
102105

103106
func TryExec(name string, arg ...string) error {
104107
cmd := exec.Command(name, arg...)
105-
cmd.Stdin = os.Stdin
106-
cmd.Stdout = os.Stdout
107-
cmd.Stderr = os.Stderr
108108
return cmd.Run()
109109
}
110110

@@ -144,14 +144,17 @@ func OSEditInput() string {
144144
}
145145

146146
// 执行编辑文件
147-
cmd := exec.Command(editor, f.Name())
148-
cmd.Stdin = os.Stdin
149-
cmd.Stdout = os.Stdout
150-
cmd.Stderr = os.Stderr
151-
CheckAndExit(cmd.Run())
147+
MustExec(editor, f.Name())
152148
raw, err := ioutil.ReadFile(f.Name())
153149
CheckAndExit(err)
154150
input := string(bytes.TrimPrefix(raw, bom))
155151

156152
return input
157153
}
154+
155+
func CheckOS() {
156+
if runtime.GOOS != "linux" && runtime.GOOS != "darwin" {
157+
fmt.Println("Platform not support!")
158+
os.Exit(1)
159+
}
160+
}

pkg/util/git.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
)
1010

1111
func CheckGitProject() {
12-
MustExec(consts.GitCmd, "rev-parse", "--show-toplevel")
12+
MustExecNoOut(consts.GitCmd, "rev-parse", "--show-toplevel")
1313
}
1414

1515
func CheckStagedFiles() bool {
@@ -45,3 +45,7 @@ func Rebase(sourceBranch string, targetBranch string) {
4545
func Checkout(prefix consts.CommitType, branch string) {
4646
MustExec(consts.GitCmd, "checkout", "-b", string(prefix)+"/"+branch)
4747
}
48+
49+
func Push() {
50+
MustExec(consts.GitCmd, "push", "origin", strings.TrimSpace(GetCurrentBranch()))
51+
}

0 commit comments

Comments
 (0)