summaryrefslogtreecommitdiff
path: root/git.go
diff options
context:
space:
mode:
Diffstat (limited to 'git.go')
-rw-r--r--git.go22
1 files changed, 6 insertions, 16 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
}
/*