diff options
Diffstat (limited to 'git.go')
| -rw-r--r-- | git.go | 22 |
1 files changed, 6 insertions, 16 deletions
@@ -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 } /* |
