summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go123
1 files changed, 113 insertions, 10 deletions
diff --git a/main.go b/main.go
index 9062c52..57b2f55 100644
--- a/main.go
+++ b/main.go
@@ -27,7 +27,7 @@ type repo struct {
bLabel *gui.Node // branch label
lastLabel *gui.Node // last tagged version label
vLabel *gui.Node // version label
- tagsDrop *gui.Node // list of all tags
+ // tagsDrop *gui.Node // list of all tags
dirtyLabel *gui.Node // git state (dirty or not?)
masterVersion *gui.Node // the master branch version
@@ -44,25 +44,44 @@ func main() {
myGui = gui.New().Default()
repoworld()
- checkrepos()
+
+ /*
+ for i, r := range allrepos {
+ log.Warn("scannning", i, r.path)
+ r.scan()
+ }
+ */
+
gui.Watchdog()
}
-func addRepo(grid *gui.Node, path string) *repo {
+func (r *repo) getPath() string {
+ return r.path
+}
+
+func addRepo(grid *gui.Node, path string) {
newRepo := new(repo)
+ if repostatus.VerifyLocalGoRepo(path) {
+ log.Warn("newRepo actually exists", newRepo.getPath())
+ } else {
+ log.Warn("newRepo does not exist", newRepo.getPath())
+ return
+ }
+
newRepo.path = path
newRepo.pLabel = grid.NewLabel(path)
newRepo.bLabel = grid.NewLabel("")
newRepo.lastLabel = grid.NewLabel("")
newRepo.vLabel = grid.NewLabel("")
- newRepo.tagsDrop = grid.NewDropdown("tags")
+ // newRepo.tagsDrop = grid.NewDropdown("tags")
newRepo.masterVersion = grid.NewLabel("")
newRepo.develVersion = grid.NewLabel("")
newRepo.jcarrVersion = grid.NewLabel("")
newRepo.dirtyLabel = grid.NewLabel("")
+ /*
newRepo.cButton = grid.NewButton("status", func () {
log.Println("repo status for", newRepo.path)
newRepo.scan()
@@ -76,16 +95,49 @@ func addRepo(grid *gui.Node, path string) *repo {
}
newRepo.status.Toggle()
})
+ */
newRepo.pButton = grid.NewButton("rescan", func () {
- newRepo.scan()
+ newRepo.newScan()
+ })
+
+ /*
+ grid.NewButton("SierpiƄski", func () {
+ if newRepo.status != nil {
+ log.Warn("status window already exists")
+ }
+ newRepo.status = repostatus.New(myGui, newRepo.path)
+ newRepo.status.Horizontal()
+ newRepo.status.Make()
+ newRepo.status.Make2()
+ })
+ */
+ grid.NewButton("Toggle()", func () {
+ if newRepo.status == nil {
+ log.Warn("status window doesn't exist")
+ return
+ }
+ log.Warn("status window exists. trying Update() here")
+ newRepo.status.Toggle()
+ })
+ grid.NewButton("TestDraw()", func () {
+ if newRepo.status == nil {
+ log.Warn("status window doesn't exist")
+ return
+ }
+ log.Warn("status window exists. trying TestDraw() here")
+ newRepo.status.TestDraw()
})
if path == "" {
newRepo.cButton.Hide()
newRepo.pButton.Hide()
- return newRepo
}
+ newRepo.status = repostatus.New(myGui, newRepo.path)
+ newRepo.status.Horizontal()
+ newRepo.status.Make()
+ newRepo.status.Make2()
+ newRepo.status.Update()
+ newRepo.newScan()
allrepos = append(allrepos, newRepo)
- return newRepo
}
// This creates a window
@@ -100,14 +152,15 @@ func repoworld() {
grid.NewLabel("")
grid.NewLabel("branch")
grid.NewLabel("last tag")
- grid.NewLabel("Version")
- grid.NewLabel("tags")
+ grid.NewLabel("Current Version")
+ // grid.NewLabel("tags")
grid.NewLabel("master")
grid.NewLabel("devel")
grid.NewLabel("jcarr")
grid.NewLabel("Status")
grid.NewLabel("commit")
- grid.NewLabel("push to")
+ grid.NewLabel("Toggle()")
+ grid.NewLabel("Draw()")
repos := myrepolist()
for _, repo := range repos {
@@ -146,3 +199,53 @@ func myrepolist() []string {
lines := strings.Split(out, "\n")
return lines
}
+
+func (r *repo) newScan() bool {
+ if r.status == nil {
+ log.Warn("repo.status = nil. not initialized for some reason")
+ return false
+ }
+ // r.scan()
+ if repostatus.VerifyLocalGoRepo(r.getPath()) {
+ log.Warn("repo actually exists", r.getPath())
+ } else {
+ log.Warn("repo does not exist", r.getPath())
+ return false
+ }
+ mn := r.status.GetMasterName()
+ mv := r.status.GetMasterVersion()
+ r.masterVersion.Set(mn + " " + mv)
+
+ dn := r.status.GetDevelName()
+ dv := r.status.GetDevelVersion()
+ r.develVersion.Set(dn + " " + dv)
+
+ un := r.status.GetUserName()
+ uv := r.status.GetUserVersion()
+ r.jcarrVersion.Set(un + " " + uv)
+
+ cbname := r.status.GetCurrentBranchName()
+ cbversion := r.status.GetCurrentBranchVersion()
+ ltversion := r.status.GetLastTagVersion()
+ r.lastLabel.Set(cbname + " " + cbversion)
+ r.vLabel.Set(cbname + " " + ltversion)
+
+ if r.status.CheckDirty() {
+ log.Warn("CheckDirty() true")
+ r.dirtyLabel.Set("dirty")
+ return false
+ }
+ log.Warn("CheckDirty() no")
+ r.dirtyLabel.Set("not dirty")
+
+ if r.status.CheckBranches() {
+ log.Warn("Branches are Perfect")
+ r.dirtyLabel.SetText("PEFECT")
+ return true
+ } else {
+ log.Warn("Branches are not Perfect")
+ r.dirtyLabel.SetText("merge")
+ }
+
+ return false
+}