summaryrefslogtreecommitdiff
path: root/repolist.go
diff options
context:
space:
mode:
Diffstat (limited to 'repolist.go')
-rw-r--r--repolist.go167
1 files changed, 0 insertions, 167 deletions
diff --git a/repolist.go b/repolist.go
deleted file mode 100644
index da0adbf..0000000
--- a/repolist.go
+++ /dev/null
@@ -1,167 +0,0 @@
-// This is a simple example
-package main
-
-import (
- "io/ioutil"
- "os/user"
- "strings"
-
- "go.wit.com/gui"
- "go.wit.com/lib/gadgets"
- "go.wit.com/lib/gui/repostatus"
- "go.wit.com/log"
-)
-
-func (r *repo) String() string {
- if r.status == nil {
- return r.path
- }
- return r.status.String()
-}
-
-func (r *repo) getPath() string {
- return r.path
-}
-
-func RemoveFirstElement(slice []string) (string, []string) {
- if len(slice) == 0 {
- return "", slice // Return the original slice if it's empty
- }
- return slice[0], slice[1:] // Return the slice without the first element
-}
-
-// returns path, master branch name, devel branch name, user branch name
-func splitLine(line string) (string, string, string, string) {
- var path, master, devel, user string
- parts := strings.Split(line, " ")
- path, parts = RemoveFirstElement(parts)
- master, parts = RemoveFirstElement(parts)
- devel, parts = RemoveFirstElement(parts)
- user, parts = RemoveFirstElement(parts)
- // path, master, devel, user := strings.Split(line, " ")
- return path, master, devel, user
-}
-
-func myrepolist() []string {
- content, _ := ioutil.ReadFile("/home/jcarr/.config/myrepolist")
- out := string(content)
- out = strings.TrimSpace(out)
- lines := strings.Split(out, "\n")
- return lines
-}
-
-func (r *repo) Hide() {
- r.pLabel.Hide()
- r.lastTag.Hide()
- r.vLabel.Hide()
- r.targetVersion.Hide()
-
- r.dirtyLabel.Hide()
- r.goSumStatus.Hide()
- r.statusButton.Hide()
- r.hidden = true
-}
-
-func (r *repo) Show() {
- r.pLabel.Show()
- r.lastTag.Show()
- r.vLabel.Show()
- r.targetVersion.Show()
-
- r.dirtyLabel.Show()
- r.goSumStatus.Show()
- r.statusButton.Show()
- r.hidden = false
-}
-
-// This creates a window
-func repoworld() {
- reposwin = gadgets.NewBasicWindow(me.myGui, "All git repositories in ~/go/src/")
- reposwin.Make()
- reposwin.Custom = func() {
- log.Warn("GOT HERE: main() gadgets.NewBasicWindow() close")
- log.Warn("Should I do something special here?")
- }
- reposbox = reposwin.Box().NewBox("bw vbox", false)
-
- reposgroup = reposbox.NewGroup("go repositories (read from ~/.config/myrepolist)")
- reposgrid = reposgroup.NewGrid("test", 7, 1)
-
- reposgrid.NewLabel("") // path goes here
-
- reposgrid.NewLabel("last tag")
- reposgrid.NewLabel("Current Ver")
- reposgrid.NewLabel("Target Ver")
-
- reposgrid.NewLabel("Status")
- reposgrid.NewLabel("go.sum")
-
- reposgrid.NewLabel("Show()")
-
- repos := myrepolist()
- for _, line := range repos {
- log.Verbose("repo =", line)
- path, mbranch, dbranch, ubranch := splitLine(line)
- if mbranch == "" {
- mbranch = "master"
- }
- if dbranch == "" {
- dbranch = "devel"
- }
- usr, _ := user.Current()
- if ubranch == "" {
- ubranch = usr.Username
- }
- addRepo(reposgrid, path, mbranch, dbranch, ubranch)
- }
-
- for i, path := range repostatus.ListGitDirectories() {
- // log.Info("addRepo()", i, path)
- tmp := strings.TrimPrefix(path, "/home/jcarr/go/src/")
- log.Info("addRepo()", i, tmp)
- addRepo(reposgrid, tmp, "master", "master", "master")
- }
-}
-
-func addRepo(grid *gui.Node, path string, master string, devel string, user string) {
- _, ok := me.allrepos[path]
- if ok {
- log.Info("addRepo() already had path", path)
- return
- }
-
- newRepo := new(repo)
-
- if path == "" {
- log.Warn("addRepo() got empty path", path, master, devel, user)
- return
- }
-
- newRepo.path = path
- newRepo.pLabel = grid.NewLabel(path)
-
- newRepo.lastTag = grid.NewLabel("")
- newRepo.vLabel = grid.NewLabel("")
- newRepo.targetVersion = grid.NewLabel("")
-
- newRepo.dirtyLabel = grid.NewLabel("")
- newRepo.goSumStatus = grid.NewLabel("?")
-
- newRepo.statusButton = grid.NewButton("Configure", func() {
- if newRepo.status == nil {
- log.Warn("status window doesn't exist")
- return
- }
- log.Warn("status window exists. trying TestDraw() here")
- newRepo.status.Toggle()
- setCurrentRepo(newRepo, "manually chosen", "notsure")
- })
-
- newRepo.status = repostatus.NewRepoStatusWindow(newRepo.path)
- if newRepo.status == nil {
- log.Warn("something is wrong with", path)
- os.Exit(0)
- }
- newRepo.hidden = false
- me.allrepos[path] = newRepo
-}