summaryrefslogtreecommitdiff
path: root/branchesBox.go
blob: 38c1d26da2d2caf79869746b257b608a90a77d13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package repostatus

import (
	"go.wit.com/lib/gadgets"
	"go.wit.com/log"
)

func (rs *RepoStatus) makeBranchesBox() {
	rs.gitBranchesGroup = rs.window.Box().NewGroup("branches")
	newgrid := rs.gitBranchesGroup.NewGrid("gridnuts", 2, 2)

	rs.lasttag = gadgets.NewOneLiner(newgrid, "last tag")

	rs.masterBranchVersion = gadgets.NewOneLiner(newgrid, "master")
	rs.develBranchVersion = gadgets.NewOneLiner(newgrid, "devel")
	rs.userBranchVersion = gadgets.NewOneLiner(newgrid, "user")

	rs.currentBranch = gadgets.NewOneLiner(newgrid, "current branch")
	rs.currentVersion = gadgets.NewOneLiner(newgrid, "current version")

	rs.showBranchesButton = newgrid.NewButton("getBranches()", func() {
		all := rs.getBranches()
		i := len(all)
		log.Log(WARN, "branch count =", i)
	})

	rs.checkBranchesButton = newgrid.NewButton("CheckBranches()", func() {
		if rs.CheckBranches() {
			log.Log(WARN, "Branches are perfect")
		} else {
			log.Log(WARN, "Branches are not perfect")
		}
	})

	newgrid.NewButton("show .git/config", func() {
		if rs.gitConfig == nil {
			log.Log(WARN, "Nonexistant or damaged .git/config", rs.String())
			return
		}
		log.Log(WARN, ".git/config:", rs.realPath.String())

		// The info:
		for name, remote := range rs.gitConfig.remotes {
			log.Log(WARN, "  ", name, "url:", remote.url)
		}
		for name, branch := range rs.gitConfig.branches {
			log.Log(WARN, "  ", name, "remote:", branch.remote, "merge", branch.merge)
		}
	})

	newgrid.NewButton("CheckDirty()", func() {
		if rs.CheckDirty() {
			log.Log(WARN, "is dirty")
		} else {
			log.Log(WARN, "is not dirty")
		}
	})

	// rs.TagsW = rs.TagWindow()

	newgrid.NewButton("Show tags", func() {
		if rs.TagsW == nil {
			log.Warn("error: found rs.TagsW == nil")
			rs.TagsW = rs.TagWindow()
			return
		}
		if rs.TagsW.Hidden() {
			rs.TagsW.Show()
		} else {
			rs.TagsW.Show()
		}
	})
}