summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--draw.go70
-rw-r--r--git.go7
-rw-r--r--go.mod6
-rw-r--r--go.sum12
-rw-r--r--update.go3
5 files changed, 57 insertions, 41 deletions
diff --git a/draw.go b/draw.go
index 6ab130e..fd5af1f 100644
--- a/draw.go
+++ b/draw.go
@@ -75,7 +75,6 @@ func (rs *RepoStatus) drawGitBranches() {
func (rs *RepoStatus) drawGitStatus() {
rs.gitStatusGroup = rs.window.Box().NewGroup("What GO Knows It Has")
newgrid := rs.gitStatusGroup.NewGrid("gridnuts", 2, 2)
- // newgrid.SetNext(1,1)
newgrid.Margin()
newgrid.Pad()
@@ -84,6 +83,16 @@ func (rs *RepoStatus) drawGitStatus() {
rs.lasttag = gadgets.NewOneLiner(newgrid, "last tag")
rs.currentVersion = gadgets.NewOneLiner(newgrid, "Version")
rs.tagsDrop = gadgets.NewBasicDropdown(newgrid, "existing tags")
+
+ // git for-each-ref --sort=taggerdate --format '%(tag) ,,,_,,, %(subject)' refs/tags
+ var cmd []string
+ cmd = append(cmd, "git", "for-each-ref", "--sort=taggerdate", "--format", "%(tag) %(subject)", "refs/tags")
+ _, _, output := RunCmd("/home/jcarr/go/src/"+rs.repopath, cmd)
+ log.Info(output)
+ for _, line := range strings.Split(output, "\n") {
+ rs.tagsDrop.AddText(line)
+ }
+
rs.masterBranchVersion = gadgets.NewOneLiner(newgrid, "master")
rs.develBranchVersion = gadgets.NewOneLiner(newgrid, "devel")
rs.userBranchVersion = gadgets.NewOneLiner(newgrid, "user")
@@ -102,23 +111,7 @@ func (rs *RepoStatus) drawGitCommands() {
rs.Update()
})
- label := "merge " + rs.masterDrop.String() + " to devel"
- rs.develMerge = newgrid.NewButton(label, func() {
- rs.Disable()
- master := rs.masterDrop.String()
- rs.checkoutBranch("master", master)
- if rs.getCurrentBranchName() != master {
- log.Warn("something went wrong switching to the master branch. full stop!")
- return
- }
- if !rs.runGitCommands() {
- log.Warn("SOMETHING WENT WRONG")
- return
- }
- rs.Update()
- rs.Enable()
- log.Warn("THINGS SEEM OK")
- })
+ newgrid.NewLabel("tmp")
rs.major = gadgets.NewBasicCombobox(newgrid, "major")
rs.major.Custom = func() {
@@ -136,7 +129,7 @@ func (rs *RepoStatus) drawGitCommands() {
rs.generateCmd()
}
newgrid.NewLabel("new tag version")
- rs.newversion = newgrid.NewLabel("3.1.4")
+ rs.newversion = newgrid.NewLabel("0.0.1")
rs.versionMessage = gadgets.NewBasicEntry(newgrid, "tag message")
rs.versionMessage.Custom = func() {
@@ -144,6 +137,24 @@ func (rs *RepoStatus) drawGitCommands() {
}
rs.versionCmdOutput = gadgets.NewOneLiner(newgrid, "tag cmd")
+ label := "merge " + rs.masterDrop.String() + " to devel"
+ rs.develMerge = newgrid.NewButton(label, func() {
+ rs.Disable()
+ master := rs.masterDrop.String()
+ rs.checkoutBranch("master", master)
+ if rs.getCurrentBranchName() != master {
+ log.Warn("something went wrong switching to the master branch. full stop!")
+ return
+ }
+ if !rs.runGitCommands() {
+ log.Warn("SOMETHING WENT WRONG")
+ return
+ }
+ rs.Update()
+ rs.Enable()
+ log.Warn("THINGS SEEM OK")
+ })
+
rs.releaseVersion = newgrid.NewButton("tag and release new version", func() {
if !rs.generateCmd() {
log.Warn("something is wrong. fix the errors first")
@@ -179,12 +190,12 @@ func (rs *RepoStatus) setTag() bool {
newver := strconv.Itoa(newa)
if newa < olda {
log.Warn("new version bad", newver, "vs old version", lasttag, "newa =", newa, "olda =", olda)
- rs.newversion.SetText("bad")
+ rs.newversion.SetLabel("bad")
return false
}
if newa > olda {
log.Warn("new version ok", newver, "vs old version", lasttag)
- rs.newversion.SetText(newver)
+ rs.newversion.SetLabel(newver)
rs.minor.SetText("")
rs.revision.SetText("")
return true
@@ -194,13 +205,13 @@ func (rs *RepoStatus) setTag() bool {
newver = strconv.Itoa(newa) + "." + strconv.Itoa(newb)
if newb < oldb {
log.Warn("new version bad", newver, "vs old version", lasttag, "newb =", newb, "oldb =", oldb)
- rs.newversion.SetText("bad")
+ rs.newversion.SetLabel("bad")
return false
}
if newb > oldb {
log.Warn("new version ok", newver, "vs old version", lasttag)
- rs.newversion.SetText(newver)
+ rs.newversion.SetLabel(newver)
rs.revision.SetText("")
return true
}
@@ -209,11 +220,11 @@ func (rs *RepoStatus) setTag() bool {
newver = strconv.Itoa(newa) + "." + strconv.Itoa(newb) + "." + strconv.Itoa(newc)
if newc <= oldc {
log.Warn("new version bad", newver, "vs old version", lasttag)
- rs.newversion.SetText("bad")
+ rs.newversion.SetLabel("bad")
return false
}
log.Warn("new version ok", newver, "vs old version", lasttag)
- rs.newversion.SetText(newver)
+ rs.newversion.SetLabel(newver)
return true
}
@@ -253,8 +264,8 @@ func (rs *RepoStatus) recommend() {
log.Warn("merge or squash?")
rs.EnableMergeDevel()
rs.setMergeUserCommands()
- label := "merge " + rs.GetUserBranchName() + " into " + rs.GetDevelBranchName()
- rs.develMerge.SetText(label)
+ label := "merge user into " + rs.GetDevelBranchName()
+ rs.develMerge.SetLabel(label)
return
}
log.Warn("Does master == devel? ", rs.masterBranchVersion.String(), rs.develBranchVersion.String())
@@ -262,8 +273,8 @@ func (rs *RepoStatus) recommend() {
log.Warn("master does not equal devel. merge devel into master")
rs.EnableMergeDevel()
rs.setMergeDevelCommands()
- label := "merge " + rs.GetDevelBranchName() + " into " + rs.GetMasterBranchName()
- rs.develMerge.SetText(label)
+ label := "merge devel into " + rs.GetMasterBranchName()
+ rs.develMerge.SetLabel(label)
return
}
rs.getLastTagVersion()
@@ -272,7 +283,6 @@ func (rs *RepoStatus) recommend() {
rs.incrementVersion()
rs.EnableSelectTag()
rs.setTag()
- rs.versionMessage.SetText("TODO: set globally")
return
}
log.Warn("Is repo pushed upstream? git.wit.org or github?")
diff --git a/git.go b/git.go
index 61fc2c8..782a30d 100644
--- a/git.go
+++ b/git.go
@@ -243,14 +243,17 @@ func (rs *RepoStatus) GetStatus() string {
return "merge to devel"
}
if rs.userBranchVersion.String() != rs.masterBranchVersion.String() {
- return "release"
+ return "ready to release"
+ }
+ if rs.lasttag.String() != rs.masterBranchVersion.String() {
+ return "ready to tag version"
}
if rs.CheckBranches() {
log.Warn("Branches are Perfect")
return "PERFECT"
}
- log.Warn("Branches are not Perfect")
+ log.Warn(rs.GetPath(), "Branches are not Perfect")
return "unknown branches"
}
diff --git a/go.mod b/go.mod
index a39dcfd..8b96538 100644
--- a/go.mod
+++ b/go.mod
@@ -3,9 +3,9 @@ module go.wit.com/lib/gui/repostatus
go 1.21.4
require (
- go.wit.com/gui v0.12.18
- go.wit.com/lib/gadgets v0.12.12
- go.wit.com/log v0.5.5
+ go.wit.com/gui v0.12.19
+ go.wit.com/lib/gadgets v0.12.14
+ go.wit.com/log v0.5.6
go.wit.com/widget v1.1.6
)
diff --git a/go.sum b/go.sum
index ca171e5..75c1f75 100644
--- a/go.sum
+++ b/go.sum
@@ -4,11 +4,11 @@ go.wit.com/dev/alexflint/scalar v1.2.1 h1:loXOcbVnd+8YeJRLey+XXidecBiedMDO00zQ26
go.wit.com/dev/alexflint/scalar v1.2.1/go.mod h1:+rYsfxqdI2cwA8kJ7GCMwWbNJvfvWUurOCXLiwdTtSs=
go.wit.com/dev/davecgh/spew v1.1.4 h1:C9hj/rjlUpdK+E6aroyLjCbS5MFcyNUOuP1ICLWdNek=
go.wit.com/dev/davecgh/spew v1.1.4/go.mod h1:sihvWmnQ/09FWplnEmozt90CCVqBtGuPXM811tgfhFA=
-go.wit.com/gui v0.12.18 h1:gFVDaJFz/Su8JgUd9Oxnb3t+FS+bzy5WJSvGoKVGYZU=
-go.wit.com/gui v0.12.18/go.mod h1:27+THr2a84GZ61KKUuN30WYnYoSsBewllUKc+fnWLto=
-go.wit.com/lib/gadgets v0.12.12 h1:3UFxKIOibaztREXgsLpMhVzG3w0gT3V98QzbWg2EPoc=
-go.wit.com/lib/gadgets v0.12.12/go.mod h1:1bT2DhJkwP7zJJydhiAnchlh+WJU4BWdhkYnX6mvQME=
-go.wit.com/log v0.5.5 h1:bK3b94uVKgev4jB5wg06FnvCFBEapQICTSH2YW+CWr4=
-go.wit.com/log v0.5.5/go.mod h1:BaJBfHFqcJSJLXGQ9RHi3XVhPgsStxSMZRlaRxW4kAo=
+go.wit.com/gui v0.12.19 h1:OEnsnZnec7Q2jZVjwl413V0wuVAAB4r2mGTY0IouBuw=
+go.wit.com/gui v0.12.19/go.mod h1:v2VgnOL3dlZ13KclYeedZ1cd20nQdvwjyJTNKvFX3DA=
+go.wit.com/lib/gadgets v0.12.14 h1:Osh7D8TKJiU5M6tXqERGQwTUt+C5IJ0senkmUAirSek=
+go.wit.com/lib/gadgets v0.12.14/go.mod h1:Fxc7F8hGskpkWVAsXKhs4ilqUlAnikVXj4yzumtTYa0=
+go.wit.com/log v0.5.6 h1:rDC3ju95zfEads4f1Zm+QMkqjZ39CsYAT/UmQQs7VP4=
+go.wit.com/log v0.5.6/go.mod h1:BaJBfHFqcJSJLXGQ9RHi3XVhPgsStxSMZRlaRxW4kAo=
go.wit.com/widget v1.1.6 h1:av2miF5vlohMfARA/QGPTPfgW/ADup1c+oeAOKgroPY=
go.wit.com/widget v1.1.6/go.mod h1:I8tnD3x3ECbB/CRNnLCdC+uoyk7rK0AEkzK1bQYSqoQ=
diff --git a/update.go b/update.go
index 0feb90a..8c234d8 100644
--- a/update.go
+++ b/update.go
@@ -116,6 +116,9 @@ func (rs *RepoStatus) EnableSelectTag() {
// disable adding a tag message
rs.versionMessage.Enable()
+ rs.versionMessage.SetText("")
+
+ rs.develMerge.SetLabel("ready to release")
// force there to be a commit message
rs.releaseVersion.Disable()