diff options
Diffstat (limited to 'doVerifyUser.go')
| -rw-r--r-- | doVerifyUser.go | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/doVerifyUser.go b/doVerifyUser.go new file mode 100644 index 0000000..8c1013c --- /dev/null +++ b/doVerifyUser.go @@ -0,0 +1,55 @@ +package main + +import ( + "go.wit.com/lib/protobuf/gitpb" + "go.wit.com/log" +) + +func doVerifyUser() error { + me.found = new(gitpb.Repos) + all := me.forge.Repos.SortByFullPath() + for all.Scan() { + repo := all.Next() + if repo.IsDirty() { + log.Info(repo.GetGoPath(), "is dirty") + me.found.AppendByGoPath(repo) + continue + } + if repo.ExistsUserBranchRemote() { + } + + if repo.ExistsUserBranch() { + } + if repo.GetMasterBranchName() == repo.GetCurrentBranchName() { + log.Info(repo.GetGoPath(), "is not on master branch") + continue + } + + devel := repo.GetDevelBranchName() + if argv.Verbose { + log.Printf("Start clean devel branch: %s %s\n", repo.GetGoPath(), devel) + } + + // check if devel branch exists in remote repo + if repo.IsBranchRemote(devel) { + if err := doCleanDevelRepo(repo); err != nil { + log.Info(repo.GetGoPath(), "verify clean failed") + } + // can not continue + continue + } + // devel branch is only local + /* + todo: something? + devname := repo.GetDevelBranchName() + if err := requiresGitPush(repo, devname); err != nil { + log.Info(repo.GetGoPath(), "is out of sync with upstream") + return err + } + */ + } + return nil +} + +func verifyRemoteUserBranch(repo *gitpb.Repo) { +} |
