diff options
Diffstat (limited to 'git.go')
| -rw-r--r-- | git.go | 79 |
1 files changed, 40 insertions, 39 deletions
@@ -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) |
