summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-02-17 15:48:56 -0600
committerJeff Carr <[email protected]>2024-02-17 15:48:56 -0600
commit985c42221758e40b2811bdd61d6941bda63dccc1 (patch)
treea884e73ccb1030500b018d1d5a7aa007663b6d8a
parentb298958bcd460763e44348467c1c5bd4591b11e7 (diff)
export Status
-rw-r--r--addRepo.go36
-rw-r--r--common.go76
-rw-r--r--new.go2
-rw-r--r--scan.go30
-rw-r--r--structs.go2
5 files changed, 55 insertions, 91 deletions
diff --git a/addRepo.go b/addRepo.go
index 9dc5cea..a437816 100644
--- a/addRepo.go
+++ b/addRepo.go
@@ -64,7 +64,7 @@ func (r *RepoList) addRepo(grid *gui.Node, path string, master string, devel str
}
newRepo := new(Repo)
- newRepo.status = rstatus
+ newRepo.Status = rstatus
path = strings.TrimSuffix(path, "/") // trim any extranous '/' chars put in the config file by the user
if path == "" {
@@ -81,31 +81,31 @@ func (r *RepoList) addRepo(grid *gui.Node, path string, master string, devel str
newRepo.vLabel = grid.NewLabel("").SetProgName("current")
newRepo.endBox = grid.NewHorizontalBox("HBOX")
newRepo.endBox.NewButton("Configure", func() {
- if newRepo.status == nil {
+ if newRepo.Status == nil {
log.Warn("status window wasn't created")
return
}
- newRepo.status.Toggle()
+ newRepo.Status.Toggle()
})
newRepo.endBox.NewButton("show diff", func() {
r.reposbox.Disable()
- // newRepo.status.XtermNohup([]string{"git diff"})
- newRepo.status.Xterm("git diff; bash")
+ // newRepo.Status.XtermNohup([]string{"git diff"})
+ newRepo.Status.Xterm("git diff; bash")
r.reposbox.Enable()
})
newRepo.endBox.NewButton("commit all", func() {
r.reposbox.Disable()
// restore anything staged so everything can be reviewed
- newRepo.status.RunCmd([]string{"git", "restore", "--staged", "."})
- newRepo.status.XtermWait("git diff")
- newRepo.status.XtermWait("git add --all")
- newRepo.status.XtermWait("git commit -a")
- newRepo.status.XtermWait("git push")
- if newRepo.status.CheckDirty() {
+ newRepo.Status.RunCmd([]string{"git", "restore", "--staged", "."})
+ newRepo.Status.XtermWait("git diff")
+ newRepo.Status.XtermWait("git add --all")
+ newRepo.Status.XtermWait("git commit -a")
+ newRepo.Status.XtermWait("git push")
+ if newRepo.Status.CheckDirty() {
// commit was not done, restore diff
- newRepo.status.RunCmd([]string{"git", "restore", "--staged", "."})
+ newRepo.Status.RunCmd([]string{"git", "restore", "--staged", "."})
} else {
newRepo.NewScan()
}
@@ -113,23 +113,23 @@ func (r *RepoList) addRepo(grid *gui.Node, path string, master string, devel str
})
newRepo.hidden = false
- // newRepo.status.SetMainWorkingName(master)
- // newRepo.status.SetDevelWorkingName(devel)
- // newRepo.status.SetUserWorkingName(user)
+ // newRepo.Status.SetMainWorkingName(master)
+ // newRepo.Status.SetDevelWorkingName(devel)
+ // newRepo.Status.SetUserWorkingName(user)
var showBuildB bool = false
- switch newRepo.status.RepoType() {
+ switch newRepo.Status.RepoType() {
case "binary":
// log.Info("compile here. Show()")
showBuildB = true
case "library":
// log.Info("library here. Hide()")
default:
- // log.Info("unknown RepoType", newRepo.status.RepoType())
+ // log.Info("unknown RepoType", newRepo.Status.RepoType())
}
if showBuildB {
newRepo.endBox.NewButton("build", func() {
- newRepo.status.Build()
+ newRepo.Status.Build()
})
}
grid.NextRow()
diff --git a/common.go b/common.go
index 64e5886..6f3ab4e 100644
--- a/common.go
+++ b/common.go
@@ -4,21 +4,6 @@ import (
"go.wit.com/lib/gui/repostatus"
)
-// deprecate this
-func (r *Repo) String() string {
- return r.status.String()
-}
-
-// full path "/home/username/go/src/go.wit.com/apps/autotypist"
-func (r *Repo) Path() string {
- return r.status.Path()
-}
-
-// go path "go.wit.com/apps/autotypist"
-func (r *Repo) GoPath() string {
- return r.status.GoName()
-}
-
func (r *RepoList) Hidden() bool {
return r.reposbox.Hidden()
}
@@ -48,55 +33,42 @@ func AllRepos() []*Repo {
return all
}
-func (r *Repo) Build() bool {
- return r.status.Build()
-}
-
-func (r *Repo) Xterm(s string) {
- r.status.Xterm(s)
-}
-
-func (r *Repo) RepoType() string {
- return r.status.RepoType()
-}
-
-func (r *Repo) Status() string {
+// a human readable state of the current repo
+func (r *Repo) State() string {
return r.dirtyLabel.String()
}
-func (r *Repo) MergeDevelToMaster() bool {
- return r.status.MergeDevelToMaster()
-}
-
-func (r *Repo) MergeUserToDevel() bool {
- return r.status.MergeUserToDevel()
-}
-
func (r *Repo) Scan() bool {
return r.NewScan()
}
-func (r *Repo) Exists(s string) bool {
- return false
+// returns a name for human consuption only
+// todo: implement nicknames
+func (rs *Repo) Name() string {
+ if rs.Status.IsGoLang() {
+ return rs.Status.GoPath()
+ }
+ return rs.Status.Path()
}
-func (r *Repo) MakeRedomod() {
+func (r *Repo) Exists(s string) bool {
+ return false
}
-func (r *Repo) CheckoutBranch(b string) bool {
- return r.status.CheckoutBranch(b)
+func (r *Repo) GoPath() string {
+ return r.Status.GoPath()
}
func (r *Repo) CheckDirty() bool {
- return r.status.CheckDirty()
+ return r.Status.CheckDirty()
}
func (r *Repo) IsDirty() bool {
- return r.status.IsDirty()
+ return r.Status.IsDirty()
}
func (r *Repo) ReadOnly() bool {
- return r.status.ReadOnly()
+ return r.Status.ReadOnly()
}
func (r *Repo) IsPerfect() bool {
@@ -110,27 +82,19 @@ func (r *Repo) IsPerfect() bool {
}
func (r *Repo) RunCmd(cmd []string) (error, string) {
- return r.status.RunCmd(cmd)
-}
-
-func (r *Repo) GetDevelBranchName() string {
- return r.status.GetDevelBranchName()
-}
-
-func (r *Repo) GetUserBranchName() string {
- return r.status.GetUserBranchName()
+ return r.Status.RunCmd(cmd)
}
func (r *Repo) AllTags() []*repostatus.Tag {
- return r.status.Tags.ListAll()
+ return r.Status.Tags.ListAll()
}
func (r *Repo) TagsBox() *repostatus.GitTagBox {
- return r.status.Tags
+ return r.Status.Tags
}
// todo, fix bool return for deletetag()
func (r *Repo) DeleteTag(t *repostatus.Tag) bool {
- r.status.DeleteTag(t)
+ r.Status.DeleteTag(t)
return true
}
diff --git a/new.go b/new.go
index 0f56ac2..f6841c3 100644
--- a/new.go
+++ b/new.go
@@ -27,7 +27,7 @@ func splitLine(line string) (string, string, string, string) {
func RepoType() {
for _, repo := range me.allrepos {
- switch repo.status.RepoType() {
+ switch repo.Status.RepoType() {
case "binary":
//log.Info("compile here. Show()")
repo.Show()
diff --git a/scan.go b/scan.go
index 11c9dce..fa4e733 100644
--- a/scan.go
+++ b/scan.go
@@ -26,48 +26,48 @@ func (r *RepoList) ScanRepositories() (int, string) {
}
func (r *Repo) NewScan() bool {
- if r.status == nil {
- log.Warn("repo.status = nil. not initialized for some reason")
+ if r.Status == nil {
+ log.Warn("repo.Status = nil. not initialized for some reason")
return false
}
// first run the repostatus update
- r.status.UpdateNew()
+ r.Status.UpdateNew()
// now read those values and display them in our table
- mname := r.status.GetMasterBranchName()
- mver := r.status.GetMasterVersion()
+ mname := r.Status.GetMasterBranchName()
+ mver := r.Status.GetMasterVersion()
mver = mver + " (" + mname + ")"
r.masterVersion.SetLabel(mver)
- dname := r.status.GetDevelBranchName()
- dver := r.status.GetDevelVersion()
+ dname := r.Status.GetDevelBranchName()
+ dver := r.Status.GetDevelVersion()
if dname != "devel" {
dver = dver + " (" + dname + ")"
}
r.develVersion.SetLabel(dver)
- uname := r.status.GetUserBranchName()
- uver := r.status.GetUserVersion()
+ uname := r.Status.GetUserBranchName()
+ uver := r.Status.GetUserVersion()
usr, _ := user.Current()
if uname != usr.Username {
uver = uver + " (" + uname + ")"
}
r.userVersion.SetLabel(uver)
- cbname := r.status.GetCurrentBranchName()
- cbversion := r.status.GetCurrentBranchVersion()
- lasttag := r.status.GetLastTagVersion()
+ cbname := r.Status.GetCurrentBranchName()
+ cbversion := r.Status.GetCurrentBranchVersion()
+ lasttag := r.Status.GetLastTagVersion()
r.lastTag.SetLabel(lasttag)
r.vLabel.SetLabel(cbname + " " + cbversion)
- if c, ok := r.status.Changed(); ok {
+ if c, ok := r.Status.Changed(); ok {
c := strings.TrimSpace(c)
for _, line := range strings.Split(c, "\n") {
- log.Info(r.status.Path(), line)
+ log.Info(r.Status.Path(), line)
}
}
- status := r.status.GetStatus()
+ status := r.Status.GetStatus()
r.dirtyLabel.SetLabel(status)
if status == "PERFECT" {
if me.autoHidePerfect {
diff --git a/structs.go b/structs.go
index f48b152..49d826d 100644
--- a/structs.go
+++ b/structs.go
@@ -50,5 +50,5 @@ type Repo struct {
statusButton *gui.Node // opens up the status window
diffButton *gui.Node // opens up the status window
- status *repostatus.RepoStatus
+ Status *repostatus.RepoStatus
}