package main import ( "os" "strings" "time" "go.wit.com/lib/gadgets" "go.wit.com/lib/gui/repostatus" "go.wit.com/log" ) 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 } // homeDir, _ := os.UserHomeDir() func (c *controlBox) addRepo(path string) { path = strings.Trim(path, "/") // trim any extranous '/' chars put in the config file by the user if path == "" { log.Warn("addRepo() got empty path", path) return } // if repostatus.VerifyLocalGoRepo(path) { // log.Verbose("path actually exists", path) // } else { // log.Warn("repostatus.VerifyLocalGoRepo() failed for for", path) // return // } c.pathL = gadgets.NewOneLiner(c.grid, "path") c.pathL.SetText(path) c.grid.NextRow() c.lastTag = gadgets.NewOneLiner(c.grid, "lastTag") c.grid.NextRow() c.dirtyL = gadgets.NewOneLiner(c.grid, "dirty") c.grid.NextRow() c.currentL = gadgets.NewOneLiner(c.grid, "current") c.grid.NextRow() c.buildDate = gadgets.NewOneLiner(c.grid, "Build Date") c.grid.NextRow() stamp := time.Now().UTC().Format("2006/01/02 15:04:05 UTC") c.buildDate.SetText(stamp) c.tagDate = gadgets.NewOneLiner(c.grid, "git tag Date") c.grid.NextRow() err, repo := repostatus.NewRepoStatusWindow(path) if err != nil { log.Info("path did not work", path, err) return } if repo == nil { log.Info("repo == nil", path, err) os.Exit(-1) return } c.status = repo // c.status.SetMainWorkingName("master") // c.status.SetDevelWorkingName("devel") // c.status.SetUserWorkingName("jcarr") c.status.Update() cbname := c.status.GetCurrentBranchName() cbversion := c.status.GetCurrentBranchVersion() debversion := c.status.DebianCurrentVersion() if c.status.CheckDirty() { c.dirtyL.SetText("true") } else { c.dirtyL.SetText("false") } lasttag := c.status.GetLastTagVersion() if argv.Release { debversion = c.status.DebianReleaseVersion() c.dirtyL.SetText("false") } c.Version.SetText(debversion) c.lastTag.SetText(lasttag) c.currentL.SetText(cbname + " " + cbversion) tagDate := c.getDateStamp(lasttag) c.tagDate.SetText(tagDate) if s, ok := c.status.Changed(); ok { log.Warn("should scan here", s) } return }