diff options
Diffstat (limited to 'git.go')
| -rw-r--r-- | git.go | 22 |
1 files changed, 21 insertions, 1 deletions
@@ -40,9 +40,29 @@ func (rs *RepoStatus) Age() time.Duration { } func (rs *RepoStatus) GitPull() 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") + } var cmd []string cmd = append(cmd, "git", "pull") - err, _, output := RunCmd(rs.realPath.String(), cmd) + err, output := rs.RunCmd(cmd) + if err != nil { + output = "git error_,,,_a_,,,_b_,,,c" + } if err == nil { log.Log(REPOWARN, "git pull ran", rs.Path()) log.Log(REPOWARN, "git pull output", output) |
