diff --git a/branches.go b/branches.go new file mode 100644 index 0000000..7aa1712 --- /dev/null +++ b/branches.go @@ -0,0 +1,28 @@ +package forgepb + +import "go.wit.com/log" + +var ErrorNotAllReposOnMaster error = log.Errorf("not all repos on are on the master branch") +var ErrorNotAllReposOnDevel error = log.Errorf("not all repos on are on the devel branch") +var ErrorNotAllReposOnUser error = log.Errorf("not all repos on are on the user branch") + +func (f *Forge) IsEverythingOnMaster() (int, int, int, error) { + var total int + var count int + var nope int + + // first make sure every repo is on the master branch + for repo := range f.Repos.IterAll() { + total += 1 + if repo.GetMasterBranchName() == repo.GetCurrentBranchName() { + count += 1 + } else { + nope += 1 + } + } + if total != count { + // log.Info(ErrorNotAllReposOnMaster) + return total, count, nope, ErrorNotAllReposOnMaster + } + return total, count, nope, nil +}