summaryrefslogtreecommitdiff
path: root/git.go
diff options
context:
space:
mode:
Diffstat (limited to 'git.go')
-rw-r--r--git.go79
1 files changed, 40 insertions, 39 deletions
diff --git a/git.go b/git.go
index e712e4d..a921ef2 100644
--- a/git.go
+++ b/git.go
@@ -50,17 +50,18 @@ func (rs *RepoStatus) GitPull() (string, error) {
}
var cmd []string
cmd = append(cmd, "git", "pull")
- err, output := rs.RunCmd(cmd)
- if err != nil {
+ r := rs.Run(cmd)
+ output := strings.Join(r.Stdout, "\n")
+ if r.Error != nil {
output = "git error_,,,_a_,,,_b_,,,c"
}
- if err == nil {
+ if r.Error == nil {
log.Log(REPOWARN, "git pull ran", rs.Path())
log.Log(REPOWARN, "git pull output", output)
} else {
- log.Log(REPOWARN, "git pull error", rs.Path(), err)
+ log.Log(REPOWARN, "git pull error", rs.Path(), r.Error)
}
- return output, err
+ return output, r.Error
}
/*
@@ -94,13 +95,13 @@ func (rs *RepoStatus) gitDescribeByHash(hash string) (string, error) {
if hash == "" {
return "", errors.New("hash was blank")
}
- err, out := rs.RunCmd([]string{"git", "describe", "--tags", "--always", hash})
- if err != nil {
- log.Warn("not in a git repo or bad hash?", err, rs.Path())
- return "", err
+ r := rs.Run([]string{"git", "describe", "--tags", "--always", hash})
+ out := strings.Join(r.Stdout, "\n")
+ if r.Error != nil {
+ log.Warn("not in a git repo or bad hash?", r.Error, rs.Path())
+ return out, r.Error
}
- out = strings.TrimSpace(out)
- return out, err
+ return out, r.Error
}
func (rs *RepoStatus) gitDescribeByName(name string) (string, error) {
@@ -108,28 +109,27 @@ func (rs *RepoStatus) gitDescribeByName(name string) (string, error) {
if name == "" {
// git will return the current tag
- err, out := rs.RunCmd([]string{"git", "describe", "--tags", "--always"})
- if err != nil {
- log.Warn("not in a git repo?", err, rs.Path())
- return "", err
+ r := rs.Run([]string{"git", "describe", "--tags", "--always"})
+ output := strings.Join(r.Stdout, "\n")
+ if r.Error != nil {
+ log.Warn("gitDescribeByName() not in a git repo?", r.Error, rs.Path())
}
- out = strings.TrimSpace(out)
- return out, err
+ return strings.TrimSpace(output), r.Error
}
if !rs.LocalTagExists(name) {
// tag does not exist
- return "", errors.New("git fatal: Not a valid object name")
+ return "", errors.New("gitDescribeByName() git fatal: Not a valid object name")
}
cmd := []string{"git", "describe", "--tags", "--always", name}
- err, out := rs.RunCmd(cmd)
- if err != nil {
+ r := rs.Run(cmd)
+ output := strings.Join(r.Stdout, "\n")
+ if r.Error != nil {
log.Warn("cmd =", cmd)
- log.Warn("err =", err)
+ log.Warn("err =", r.Error)
log.Warn("not in a git repo or bad tag?", rs.Path())
- return "", err
}
- out = strings.TrimSpace(out)
- return out, err
+
+ return strings.TrimSpace(output), r.Error
}
// todo: don't run git every time?
@@ -211,15 +211,16 @@ func (rs *RepoStatus) DirtyList() []string {
func (rs *RepoStatus) CheckDirty() bool {
var start string = rs.dirtyLabel.String()
cmd := []string{"git", "status", "--porcelain"}
- err, out := rs.RunCmd(cmd)
- if err != nil {
+ r := rs.Run(cmd)
+ out := strings.Join(r.Stdout, "\n")
+ if r.Error != nil {
log.Warn("CheckDirty() status cmd =", cmd)
log.Warn("CheckDirty() status out =", out)
- log.Warn("CheckDirty() status err =", err)
- log.Error(err, "CheckDirty() git status error")
+ log.Warn("CheckDirty() status err =", r.Error)
+ log.Error(r.Error, "CheckDirty() git status error")
rs.dirtyLabel.SetValue("error")
if start != "error" {
- rs.NoteChange("git status is in error " + fmt.Sprint(err))
+ rs.NoteChange("git status is in error " + fmt.Sprint(r.Error))
}
return true
}
@@ -272,9 +273,9 @@ func (rs *RepoStatus) CheckoutBranch(bname string) bool {
return true
}
cmd := []string{"git", "checkout", bname}
- err, b, output := RunCmd(rs.realPath.String(), cmd)
- if err != nil {
- log.Log(REPO, err, b, output)
+ r := rs.Run(cmd)
+ if r.Error != nil {
+ log.Log(REPO, "git checkout error:", r.Error)
return false
}
rs.checkCurrentBranchName()
@@ -325,9 +326,9 @@ func (rs *RepoStatus) CheckoutUser() bool {
return false
}
cmd := []string{"git", "checkout", bName}
- err, b, output := RunCmd(rs.realPath.String(), cmd)
- if err != nil {
- log.Log(REPO, err, b, output)
+ r := rs.Run(cmd)
+ if r.Error != nil {
+ log.Log(REPO, "git checkout error:", r.Error)
}
realname := rs.GetCurrentBranchName()
@@ -570,14 +571,14 @@ func (rs *RepoStatus) CheckBranches() bool {
}
var cmd []string
cmd = append(cmd, "git", "show", "-s", "--format=%ci", hash)
- err, output := rs.RunCmd(cmd)
- if err != nil {
- // log.Log(WARN, "cmd failed", cmd, "err =", err, "in", rs.String())
+ r := rs.Run(cmd)
+ if r.Error != nil {
+ log.Log(WARN, "CheckBranches() git show error:", r.Error)
}
// git show -s --format=%ci <hash> will give you the time
// log.Log(REPO, fullfile)
if hash == hashCheck {
- log.Log(REPO, hash, output, b)
+ log.Log(REPO, "notsure why this git show is here", hash)
} else {
// log.Log(WARN, rs.String(), hash, output, b)
// log.Log(WARN, "UNKNOWN BRANCHES IN THIS REPO", cmd)