summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--branches.go28
1 files changed, 28 insertions, 0 deletions
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
+}