Skip to content

Commit 40884fa

Browse files
author
Tobias Meinhardt
committed
Merge branch 'master' of github.com:meinto/git-semver
2 parents 566682c + a488117 commit 40884fa

File tree

9 files changed

+51
-33
lines changed

9 files changed

+51
-33
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
semver
2+
git-semver
23
build
34
dist
45
buildAssets
56
glow.private.json
67

8+
on/
9+
710
debug

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.1.12
1+
4.1.16

formula/git-semver.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
class GitSemver < Formula
33
desc ""
44
homepage ""
5-
url "https://github.com/meinto/git-semver/releases/download/v4.1.8/git-semver_4.1.8_Darwin_x86_64.tar.gz"
6-
version "4.1.8"
7-
sha256 "e9d215884f46128c5c9ec1ef169ffb3b0c1100d018d90ec2b637d8cc97bccc91"
5+
url "https://github.com/meinto/git-semver/releases/download/v4.1.16/semver_4.1.16_darwin_x86_64.tar.gz"
6+
version "4.1.16"
7+
sha256 "8568bab964d15bda6a1094ac0247f49d113779d04549f199a41875f13b3b0e3e"
88

99
depends_on "git"
1010

git/service.go

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,30 +30,36 @@ func NewGitService(gitPath string) Service {
3030

3131
func (s service) GitRepoPath() (string, error) {
3232
cmd := exec.Command(s.gitPath, "rev-parse", "--show-toplevel")
33-
var stdout bytes.Buffer
33+
var stdout, stderr bytes.Buffer
34+
cmd.Stderr = &stderr
3435
cmd.Stdout = &stdout
3536
err := cmd.Run()
36-
return strings.TrimSuffix(stdout.String(), "\n"), err
37+
return strings.TrimSuffix(stdout.String(), "\n"), errors.Wrap(err, fmt.Sprintf("pkg(git) GitRepoPath(): %s", stderr.String()))
3738
}
3839

3940
func (s service) IsRepoClean() (bool, error) {
4041
cmd := exec.Command(s.gitPath, "status", "-s")
41-
var stdout bytes.Buffer
42+
var stdout, stderr bytes.Buffer
43+
cmd.Stderr = &stderr
4244
cmd.Stdout = &stdout
4345
err := cmd.Run()
44-
return stdout.String() == "", err
46+
return stdout.String() == "", errors.Wrap(err, fmt.Sprintf("pkg(git) IsRepoClean(): %s", stderr.String()))
4547
}
4648

4749
func (s service) CreateTag(version string) error {
4850
cmd := exec.Command(s.gitPath, "tag", "-a", "v"+version, "-m", fmt.Sprintf("create new tag v%s", version))
51+
var stderr bytes.Buffer
52+
cmd.Stderr = &stderr
4953
err := cmd.Run()
50-
return errors.Wrap(err, "error creating git tag")
54+
return errors.Wrap(err, fmt.Sprintf("pkg(git) CreateTag(): %s", stderr.String()))
5155
}
5256

5357
func (s service) Push() error {
5458
cmd := exec.Command(s.gitPath, "push", "--follow-tags")
59+
var stderr bytes.Buffer
60+
cmd.Stderr = &stderr
5561
err := cmd.Run()
56-
return errors.Wrap(err, "error creating git tag")
62+
return errors.Wrap(err, fmt.Sprintf("pkg(git) Push(): %s", stderr.String()))
5763
}
5864

5965
func (s service) AddVersionChanges(filename string) error {
@@ -63,12 +69,16 @@ func (s service) AddVersionChanges(filename string) error {
6369
}
6470
filePath := repoPath + "/" + filename
6571
cmd := exec.Command(s.gitPath, "add", filePath)
72+
var stderr bytes.Buffer
73+
cmd.Stderr = &stderr
6674
err = cmd.Run()
67-
return errors.Wrap(err, "error adding version changes")
75+
return errors.Wrap(err, fmt.Sprintf("pkg(git) AddVersionChanges(): %s", stderr.String()))
6876
}
6977

7078
func (s service) CommitVersionChanges(version string) error {
7179
cmd := exec.Command(s.gitPath, "commit", "-m", fmt.Sprintf("add changes for version %s", version))
80+
var stderr bytes.Buffer
81+
cmd.Stderr = &stderr
7282
err := cmd.Run()
73-
return errors.Wrap(err, "error committing added changes")
83+
return errors.Wrap(err, fmt.Sprintf("pkg(git) CommitVersionChanges(): %s", stderr.String()))
7484
}

pkg/cli/cmd/get.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package cmd
33
import (
44
"fmt"
55

6-
"github.com/meinto/git-semver"
6+
semver "github.com/meinto/git-semver"
77
"github.com/meinto/git-semver/file"
88
"github.com/meinto/git-semver/git"
99
"github.com/meinto/git-semver/pkg/cli/cmd/internal"

pkg/cli/cmd/install.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ func fileList(rootPath string) ([]string, error) {
8282
var files []string
8383

8484
err := filepath.Walk(rootPath, func(path string, info os.FileInfo, err error) error {
85-
if !strings.HasPrefix(path, "semver_") {
85+
if !strings.HasPrefix(path, "semver") && !strings.HasPrefix(path, "git-semver") {
8686
return nil
8787
}
8888
files = append(files, path)

pkg/cli/cmd/root.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,18 @@ func init() {
4040
var rootCmd = &cobra.Command{
4141
Use: "semver",
4242
Short: "standalone tool to version your gitlab repo with semver",
43+
PersistentPreRun: func(cmd *cobra.Command, args []string) {
44+
g := git.NewGitService(viper.GetString("gitPath"))
45+
repoPath, _ := g.GitRepoPath()
46+
47+
viper.SetConfigName("semver.config")
48+
viper.SetConfigType("json")
49+
viper.AddConfigPath(repoPath)
50+
err := viper.ReadInConfig()
51+
if err != nil {
52+
log.Println("there is no semver.config file: ", err)
53+
}
54+
},
4355
Run: func(cmd *cobra.Command, args []string) {
4456

4557
g := git.NewGitService(viper.GetString("gitPath"))

pkg/cli/main.go

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,9 @@ package main
33
//go:generate ../../.circleci/generate-assets.sh
44

55
import (
6-
"log"
7-
8-
"github.com/meinto/git-semver/git"
96
"github.com/meinto/git-semver/pkg/cli/cmd"
10-
"github.com/spf13/viper"
117
)
128

139
func main() {
14-
g := git.NewGitService(viper.GetString("gitPath"))
15-
repoPath, _ := g.GitRepoPath()
16-
17-
viper.SetConfigName("semver.config")
18-
viper.SetConfigType("json")
19-
viper.AddConfigPath(repoPath)
20-
err := viper.ReadInConfig()
21-
if err != nil {
22-
log.Println("there is no semver.config file: ", err)
23-
}
24-
2510
cmd.Execute()
2611
}

version.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,22 +35,30 @@ func (v *version) Get(vt string) (string, error) {
3535

3636
numbers := strings.Split(v.current, ".")
3737

38+
for i, n := range numbers {
39+
numbers[i] = strings.TrimSuffix(n, "\n")
40+
}
41+
42+
var err error
3843
switch versionType {
3944
case MAJOR:
40-
major, _ := strconv.Atoi(numbers[0])
45+
major, e := strconv.Atoi(numbers[0])
46+
err = e
4147
numbers[0] = strconv.Itoa(major + 1)
4248
numbers[1] = "0"
4349
numbers[2] = "0"
4450
case MINOR:
45-
minor, _ := strconv.Atoi(numbers[1])
51+
minor, e := strconv.Atoi(numbers[1])
52+
err = e
4653
numbers[1] = strconv.Itoa(minor + 1)
4754
numbers[2] = "0"
4855
case PATCH:
49-
patch, _ := strconv.Atoi(numbers[2])
56+
patch, e := strconv.Atoi(numbers[2])
57+
err = e
5058
numbers[2] = strconv.Itoa(patch + 1)
5159
}
5260

53-
return strings.Join(numbers, "."), nil
61+
return strings.Join(numbers, "."), err
5462
}
5563

5664
func (v *version) SetNext(vt string) (string, error) {

0 commit comments

Comments
 (0)