code reorg and clean
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
95fd6ca05a
commit
f7947b08b6
|
@ -0,0 +1,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()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,97 @@
|
||||||
|
package repostatus
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go.wit.com/lib/gadgets"
|
||||||
|
"go.wit.com/log"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (rs *RepoStatus) drawGitCommands() {
|
||||||
|
rs.gitCommandsGroup = rs.window.Box().NewGroup("git commands")
|
||||||
|
newgrid := rs.gitCommandsGroup.NewGrid("gridnuts", 0, 0)
|
||||||
|
|
||||||
|
newgrid.NewButton("update", func() {
|
||||||
|
rs.Update()
|
||||||
|
})
|
||||||
|
newgrid.NextRow()
|
||||||
|
|
||||||
|
newgrid.NewButton("git pull", func() {
|
||||||
|
var cmd []string
|
||||||
|
cmd = append(cmd, "git", "pull")
|
||||||
|
err, b, output := RunCmd(rs.realPath.String(), cmd)
|
||||||
|
log.Warn("Did git pull here", err, b, output)
|
||||||
|
})
|
||||||
|
newgrid.NextRow()
|
||||||
|
|
||||||
|
label := "merge " + rs.userWorkingName.String() + " to " + rs.develWorkingName.String()
|
||||||
|
rs.develMergeB = newgrid.NewButton(label, func() {
|
||||||
|
rs.Disable()
|
||||||
|
if rs.RunDevelMergeB() {
|
||||||
|
log.Warn("THINGS SEEM OK fullAutomation() returned true.")
|
||||||
|
} else {
|
||||||
|
log.Warn("THINGS FAILED fullAutomation() returned false")
|
||||||
|
}
|
||||||
|
rs.Enable()
|
||||||
|
})
|
||||||
|
|
||||||
|
label = "merge " + rs.develWorkingName.String() + " to " + rs.mainWorkingName.String()
|
||||||
|
rs.mainMergeB = newgrid.NewButton(label, func() {
|
||||||
|
rs.Disable()
|
||||||
|
if rs.RunDevelMergeB() {
|
||||||
|
log.Warn("THINGS SEEM OK fullAutomation() returned true.")
|
||||||
|
} else {
|
||||||
|
log.Warn("THINGS FAILED fullAutomation() returned false")
|
||||||
|
}
|
||||||
|
rs.Enable()
|
||||||
|
})
|
||||||
|
newgrid.NextRow()
|
||||||
|
|
||||||
|
rs.major = gadgets.NewBasicCombobox(newgrid, "major")
|
||||||
|
rs.major.Custom = func() {
|
||||||
|
rs.setTag()
|
||||||
|
rs.generateCmd()
|
||||||
|
}
|
||||||
|
rs.major.Hide()
|
||||||
|
newgrid.NextRow()
|
||||||
|
|
||||||
|
rs.minor = gadgets.NewBasicCombobox(newgrid, "minor")
|
||||||
|
rs.minor.Custom = func() {
|
||||||
|
rs.setTag()
|
||||||
|
rs.generateCmd()
|
||||||
|
}
|
||||||
|
rs.minor.Hide()
|
||||||
|
newgrid.NextRow()
|
||||||
|
|
||||||
|
rs.revision = gadgets.NewBasicCombobox(newgrid, "revision")
|
||||||
|
rs.revision.Custom = func() {
|
||||||
|
rs.setTag()
|
||||||
|
rs.generateCmd()
|
||||||
|
}
|
||||||
|
rs.revision.Hide()
|
||||||
|
newgrid.NextRow()
|
||||||
|
|
||||||
|
// newgrid.NewLabel("new tag version")
|
||||||
|
rs.newversion = newgrid.NewLabel("0.0.1")
|
||||||
|
rs.newversion.Hide()
|
||||||
|
newgrid.NextRow()
|
||||||
|
|
||||||
|
rs.versionMessage = gadgets.NewBasicEntry(newgrid, "tag message")
|
||||||
|
rs.versionMessage.Custom = func() {
|
||||||
|
rs.generateCmd()
|
||||||
|
}
|
||||||
|
rs.versionMessage.Hide()
|
||||||
|
newgrid.NextRow()
|
||||||
|
|
||||||
|
rs.versionCmdOutput = gadgets.NewOneLiner(newgrid, "tag cmd")
|
||||||
|
rs.versionCmdOutput.Hide()
|
||||||
|
newgrid.NextRow()
|
||||||
|
|
||||||
|
rs.releaseVersion = newgrid.NewButton("tag and release new version", func() {
|
||||||
|
rs.Disable()
|
||||||
|
rs.runReleaseVersionB()
|
||||||
|
})
|
||||||
|
rs.releaseVersion.Hide()
|
||||||
|
newgrid.NextRow()
|
||||||
|
|
||||||
|
newgrid.Margin()
|
||||||
|
newgrid.Pad()
|
||||||
|
}
|
155
draw.go
155
draw.go
|
@ -20,81 +20,14 @@ func (rs *RepoStatus) draw() {
|
||||||
rs.drawGitStatus()
|
rs.drawGitStatus()
|
||||||
|
|
||||||
// display the git branches and options
|
// display the git branches and options
|
||||||
rs.drawGitBranches()
|
rs.makeBranchesBox()
|
||||||
|
|
||||||
// show standard git commit and merge controls
|
// show standard git commit and merge controls
|
||||||
rs.drawGitCommands()
|
rs.drawGitCommands()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rs *RepoStatus) drawGitBranches() {
|
|
||||||
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()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (rs *RepoStatus) drawGitStatus() {
|
func (rs *RepoStatus) drawGitStatus() {
|
||||||
rs.gitStatusGroup = rs.window.Box().NewGroup("What GO Knows It Has")
|
rs.gitStatusGroup = rs.window.Box().NewGroup("What GIT Knows It Has")
|
||||||
newgrid := rs.gitStatusGroup.NewGrid("gridnuts", 2, 2)
|
newgrid := rs.gitStatusGroup.NewGrid("gridnuts", 2, 2)
|
||||||
newgrid.Margin()
|
newgrid.Margin()
|
||||||
newgrid.Pad()
|
newgrid.Pad()
|
||||||
|
@ -109,16 +42,19 @@ func (rs *RepoStatus) drawGitStatus() {
|
||||||
rs.develWorkingName.SetValue("devel")
|
rs.develWorkingName.SetValue("devel")
|
||||||
rs.userWorkingName = gadgets.NewOneLiner(newgrid, "user working branch")
|
rs.userWorkingName = gadgets.NewOneLiner(newgrid, "user working branch")
|
||||||
rs.userWorkingName.SetValue("uid")
|
rs.userWorkingName.SetValue("uid")
|
||||||
|
|
||||||
|
/*
|
||||||
rs.tagsDrop = gadgets.NewBasicDropdown(newgrid, "all releases")
|
rs.tagsDrop = gadgets.NewBasicDropdown(newgrid, "all releases")
|
||||||
|
|
||||||
// git for-each-ref --sort=taggerdate --format '%(tag) ,,,_,,, %(subject)' refs/tags
|
// git for-each-ref --sort=taggerdate --format '%(tag) ,,,_,,, %(subject)' refs/tags
|
||||||
var cmd []string
|
var cmd []string
|
||||||
cmd = append(cmd, "git", "for-each-ref", "--sort=taggerdate", "--format", "%(tag) %(subject)", "refs/tags")
|
cmd = append(cmd, "git", "for-each-ref", "--sort=taggerdate", "--format", "%(tag) %(subject)", "refs/tags")
|
||||||
_, _, output := RunCmd(rs.realPath.String(), cmd)
|
_, _, output := rs.RunCmd(cmd)
|
||||||
log.Log(INFO, output)
|
log.Log(INFO, output)
|
||||||
for _, line := range strings.Split(output, "\n") {
|
for _, line := range strings.Split(output, "\n") {
|
||||||
rs.tagsDrop.AddText(line)
|
rs.tagsDrop.AddText(line)
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
rs.dirtyLabel = gadgets.NewOneLiner(newgrid, "dirty")
|
rs.dirtyLabel = gadgets.NewOneLiner(newgrid, "dirty")
|
||||||
rs.readOnly = gadgets.NewOneLiner(newgrid, "read only")
|
rs.readOnly = gadgets.NewOneLiner(newgrid, "read only")
|
||||||
|
@ -202,85 +138,6 @@ func (rs *RepoStatus) runFullAutomation() bool {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rs *RepoStatus) drawGitCommands() {
|
|
||||||
rs.gitCommandsGroup = rs.window.Box().NewGroup("git commands")
|
|
||||||
newgrid := rs.gitCommandsGroup.NewGrid("gridnuts", 2, 2)
|
|
||||||
|
|
||||||
newgrid.NewButton("update", func() {
|
|
||||||
rs.Update()
|
|
||||||
})
|
|
||||||
|
|
||||||
newgrid.NewButton("git pull", func() {
|
|
||||||
var cmd []string
|
|
||||||
cmd = append(cmd, "git", "pull")
|
|
||||||
err, b, output := RunCmd(rs.realPath.String(), cmd)
|
|
||||||
log.Warn("Did git pull here", err, b, output)
|
|
||||||
})
|
|
||||||
|
|
||||||
label := "merge " + rs.userWorkingName.String() + " to " + rs.develWorkingName.String()
|
|
||||||
rs.develMergeB = newgrid.NewButton(label, func() {
|
|
||||||
rs.Disable()
|
|
||||||
if rs.RunDevelMergeB() {
|
|
||||||
log.Warn("THINGS SEEM OK fullAutomation() returned true.")
|
|
||||||
} else {
|
|
||||||
log.Warn("THINGS FAILED fullAutomation() returned false")
|
|
||||||
}
|
|
||||||
rs.Enable()
|
|
||||||
})
|
|
||||||
|
|
||||||
label = "merge " + rs.develWorkingName.String() + " to " + rs.mainWorkingName.String()
|
|
||||||
rs.mainMergeB = newgrid.NewButton(label, func() {
|
|
||||||
rs.Disable()
|
|
||||||
if rs.RunDevelMergeB() {
|
|
||||||
log.Warn("THINGS SEEM OK fullAutomation() returned true.")
|
|
||||||
} else {
|
|
||||||
log.Warn("THINGS FAILED fullAutomation() returned false")
|
|
||||||
}
|
|
||||||
rs.Enable()
|
|
||||||
})
|
|
||||||
|
|
||||||
rs.major = gadgets.NewBasicCombobox(newgrid, "major")
|
|
||||||
rs.major.Custom = func() {
|
|
||||||
rs.setTag()
|
|
||||||
rs.generateCmd()
|
|
||||||
}
|
|
||||||
rs.major.Hide()
|
|
||||||
rs.minor = gadgets.NewBasicCombobox(newgrid, "minor")
|
|
||||||
rs.minor.Custom = func() {
|
|
||||||
rs.setTag()
|
|
||||||
rs.generateCmd()
|
|
||||||
}
|
|
||||||
rs.minor.Hide()
|
|
||||||
rs.revision = gadgets.NewBasicCombobox(newgrid, "revision")
|
|
||||||
rs.revision.Custom = func() {
|
|
||||||
rs.setTag()
|
|
||||||
rs.generateCmd()
|
|
||||||
}
|
|
||||||
rs.revision.Hide()
|
|
||||||
|
|
||||||
// newgrid.NewLabel("new tag version")
|
|
||||||
rs.newversion = newgrid.NewLabel("0.0.1")
|
|
||||||
rs.newversion.Hide()
|
|
||||||
|
|
||||||
rs.versionMessage = gadgets.NewBasicEntry(newgrid, "tag message")
|
|
||||||
rs.versionMessage.Custom = func() {
|
|
||||||
rs.generateCmd()
|
|
||||||
}
|
|
||||||
rs.versionMessage.Hide()
|
|
||||||
|
|
||||||
rs.versionCmdOutput = gadgets.NewOneLiner(newgrid, "tag cmd")
|
|
||||||
rs.versionCmdOutput.Hide()
|
|
||||||
|
|
||||||
rs.releaseVersion = newgrid.NewButton("tag and release new version", func() {
|
|
||||||
rs.Disable()
|
|
||||||
rs.runReleaseVersionB()
|
|
||||||
})
|
|
||||||
rs.releaseVersion.Hide()
|
|
||||||
|
|
||||||
newgrid.Margin()
|
|
||||||
newgrid.Pad()
|
|
||||||
}
|
|
||||||
|
|
||||||
var releaseRevision string = ""
|
var releaseRevision string = ""
|
||||||
|
|
||||||
// over ride the computation of this if a release is being created
|
// over ride the computation of this if a release is being created
|
||||||
|
|
4
git.go
4
git.go
|
@ -54,7 +54,7 @@ func (rs *RepoStatus) getLastTagVersion() string {
|
||||||
// out = run(r.path, "git", "describe --tags c871d5ecf051a7dc4e3a77157cdbc0a457eb9ae1")
|
// out = run(r.path, "git", "describe --tags c871d5ecf051a7dc4e3a77157cdbc0a457eb9ae1")
|
||||||
out = run(rs.realPath.String(), "git", lastreal)
|
out = run(rs.realPath.String(), "git", lastreal)
|
||||||
rs.lasttag.SetValue(out)
|
rs.lasttag.SetValue(out)
|
||||||
rs.tagsDrop.SetText(out)
|
// rs.tagsDrop.SetText(out)
|
||||||
// rs.lastLabel.SetText(out)
|
// rs.lastLabel.SetText(out)
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
@ -65,7 +65,7 @@ func (rs *RepoStatus) populateTags() {
|
||||||
for _, tag := range listFiles(tmp) {
|
for _, tag := range listFiles(tmp) {
|
||||||
if rs.tags[tag] == "" {
|
if rs.tags[tag] == "" {
|
||||||
log.Log(INFO, "populateTags() Adding new tag", tag)
|
log.Log(INFO, "populateTags() Adding new tag", tag)
|
||||||
rs.tagsDrop.AddText(tag)
|
// rs.tagsDrop.AddText(tag)
|
||||||
rs.tags[tag] = "origin"
|
rs.tags[tag] = "origin"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
package repostatus
|
||||||
|
|
||||||
|
import "go.wit.com/log"
|
||||||
|
|
||||||
|
// reverts master to devel
|
||||||
|
// used in the unwind process of making GUI releases
|
||||||
|
func (rs *RepoStatus) RevertMasterToDevel() bool {
|
||||||
|
if rs.CheckDirty() {
|
||||||
|
log.Info("sorry, it's still dirty")
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
curName := rs.GetCurrentBranchName()
|
||||||
|
mName := rs.GetMasterBranchName()
|
||||||
|
if curName != mName {
|
||||||
|
log.Info("repo is not working from main branch", curName, "!=", mName)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Info("reset master to devel", curName, rs.String())
|
||||||
|
|
||||||
|
// git checkout devel
|
||||||
|
// git branch -D master
|
||||||
|
// git branch master
|
||||||
|
// git checkout master
|
||||||
|
// git push --set-upstream --force origin master
|
||||||
|
|
||||||
|
var all [][]string
|
||||||
|
all = append(all, []string{"git", "checkout", "devel"})
|
||||||
|
all = append(all, []string{"git", "branch", "-D", mName})
|
||||||
|
all = append(all, []string{"git", "branch", mName})
|
||||||
|
all = append(all, []string{"git", "checkout", mName})
|
||||||
|
all = append(all, []string{"git", "push", "--set-upstream", "--force", "origin", mName})
|
||||||
|
|
||||||
|
// all = append(all, []string{"git", "tag", "--delete", release.version.String()})
|
||||||
|
// all = append(all, []string{"git", "push", "--delete", "origin", release.version.String()})
|
||||||
|
|
||||||
|
if rs.DoAll(all) {
|
||||||
|
log.Info("EVERYTHING OK. RERELEASED", rs.String())
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Info("SOMETHING FAILED")
|
||||||
|
return false
|
||||||
|
}
|
|
@ -29,7 +29,7 @@ type RepoStatus struct {
|
||||||
|
|
||||||
currentBranch *gadgets.OneLiner
|
currentBranch *gadgets.OneLiner
|
||||||
currentVersion *gadgets.OneLiner
|
currentVersion *gadgets.OneLiner
|
||||||
tagsDrop *gadgets.BasicDropdown
|
// tagsDrop *gadgets.BasicDropdown
|
||||||
|
|
||||||
lasttag *gadgets.OneLiner
|
lasttag *gadgets.OneLiner
|
||||||
masterBranchVersion *gadgets.OneLiner
|
masterBranchVersion *gadgets.OneLiner
|
||||||
|
|
16
tagWindow.go
16
tagWindow.go
|
@ -119,7 +119,9 @@ func (tagW *repoTags) newTagBox(box *gui.Node) {
|
||||||
|
|
||||||
tags := []string{"%(tag)", "%(*objectname)", "%(taggerdate:raw)", "%(subject)"}
|
tags := []string{"%(tag)", "%(*objectname)", "%(taggerdate:raw)", "%(subject)"}
|
||||||
format := strings.Join(tags, "_,,,_")
|
format := strings.Join(tags, "_,,,_")
|
||||||
err, output := tagW.rs.RunCmd([]string{"git", "for-each-ref", "--sort=taggerdate", "--format", format})
|
cmd := []string{"git", "for-each-ref", "--sort=taggerdate", "--format", format}
|
||||||
|
log.Info("RUNNING:", strings.Join(cmd, " "))
|
||||||
|
err, output := tagW.rs.RunCmd(cmd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
output = "git error_,,,_a_,,,_b_,,,c"
|
output = "git error_,,,_a_,,,_b_,,,c"
|
||||||
}
|
}
|
||||||
|
@ -147,7 +149,17 @@ func (tagW *repoTags) newTagBox(box *gui.Node) {
|
||||||
|
|
||||||
rTag.subject = grid.NewLabel(parts[3])
|
rTag.subject = grid.NewLabel(parts[3])
|
||||||
rTag.deleteB = grid.NewButton("delete", func() {
|
rTag.deleteB = grid.NewButton("delete", func() {
|
||||||
log.Info("remove tag")
|
tagversion := parts[0]
|
||||||
|
log.Info("remove tag", tagversion)
|
||||||
|
var all [][]string
|
||||||
|
all = append(all, []string{"git", "tag", "--delete", tagversion})
|
||||||
|
all = append(all, []string{"git", "push", "--delete", "origin", tagversion})
|
||||||
|
|
||||||
|
if tagW.rs.DoAll(all) {
|
||||||
|
log.Info("TAG DELETED", tagW.rs.String(), tagversion)
|
||||||
|
} else {
|
||||||
|
log.Info("TAG DELETE FAILED", tagW.rs.String(), tagversion)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
tagW.tags = append(tagW.tags, rTag)
|
tagW.tags = append(tagW.tags, rTag)
|
||||||
|
|
13
unix.go
13
unix.go
|
@ -411,3 +411,16 @@ func (rs *RepoStatus) XtermHold(args []string) {
|
||||||
log.Info("cmd = xterm", argsX)
|
log.Info("cmd = xterm", argsX)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (rs *RepoStatus) DoAll(all [][]string) bool {
|
||||||
|
for _, cmd := range all {
|
||||||
|
log.Info("doAll() RUNNING: cmd =", cmd)
|
||||||
|
err, out := rs.RunCmd(cmd)
|
||||||
|
log.Info("doAll() err =", err)
|
||||||
|
log.Info("doAll() out =", out)
|
||||||
|
if err != nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue