Skip to content

Commit e6a02ad

Browse files
author
Tobias Meinhardt
committed
enhance error messages in git service
1 parent c2ba015 commit e6a02ad

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

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
}

0 commit comments

Comments
 (0)