summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--git.go22
-rw-r--r--merge.go6
2 files changed, 9 insertions, 19 deletions
diff --git a/git.go b/git.go
index c4714ca..abf58c0 100644
--- a/git.go
+++ b/git.go
@@ -40,23 +40,13 @@ func (rs *RepoStatus) Age() time.Duration {
return time.Since(tagTime)
}
-func (rs *RepoStatus) GitPull() error {
+var ErrorMissingGitConfig error = errors.New("missing .git/config")
+var ErrorGitPullOnLocal error = errors.New("git pull on local only branch")
+
+func (rs *RepoStatus) GitPull() (string, error) {
currentName := rs.GetCurrentBranchName()
if rs.IsOnlyLocalTag(currentName) {
- log.Log(REPOWARN, rs.Path(), "can not git pull on local only branch", currentName)
- return nil
- }
- var found bool = false
- // okay, it's not local. Is it mapped in .git/config ?
- for name, branch := range rs.gitConfig.branches {
- log.Log(WARN, name, "remote:", branch.remote, "merge", branch.merge)
- if name == currentName {
- log.Log(WARN, "Found:", name, "remote:", branch.remote, "merge", branch.merge)
- found = true
- }
- }
- if !found {
- return errors.New("git config error")
+ return "", ErrorGitPullOnLocal
}
var cmd []string
cmd = append(cmd, "git", "pull")
@@ -70,7 +60,7 @@ func (rs *RepoStatus) GitPull() error {
} else {
log.Log(REPOWARN, "git pull error", rs.Path(), err)
}
- return err
+ return output, err
}
/*
diff --git a/merge.go b/merge.go
index ed900db..db2d1ed 100644
--- a/merge.go
+++ b/merge.go
@@ -46,13 +46,13 @@ func (rs *RepoStatus) fetchBranch(apple string) (error, string) {
if rs.gitConfig == nil {
return errors.New("missing .git/config"), ""
}
- log.Log(REPOWARN, rs.Name(), "looking for branch:", apple)
+ log.Log(REPO, rs.Name(), "looking for branch:", apple)
for name, branch := range rs.gitConfig.branches {
if name == apple {
// found the branch!
- log.Log(REPOWARN, " ", name, "remote:", branch.remote, "merge", branch.merge)
+ log.Log(REPO, " ", name, "remote:", branch.remote, "merge", branch.merge)
cmd := []string{"git", "fetch", branch.remote, apple + ":" + apple}
- log.Log(REPOWARN, "running:", rs.Name(), cmd)
+ log.Log(REPO, "running:", rs.Name(), cmd)
err, out := rs.RunCmd(cmd)
return err, out
}