write out the patch files
This commit is contained in:
parent
e30194627e
commit
82471f83f4
|
@ -1,6 +1,7 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"path/filepath"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
@ -8,6 +9,7 @@ import (
|
||||||
"go.wit.com/lib/gadgets"
|
"go.wit.com/lib/gadgets"
|
||||||
"go.wit.com/lib/gui/gowit"
|
"go.wit.com/lib/gui/gowit"
|
||||||
"go.wit.com/lib/gui/repostatus"
|
"go.wit.com/lib/gui/repostatus"
|
||||||
|
"go.wit.com/lib/gui/shell"
|
||||||
"go.wit.com/log"
|
"go.wit.com/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -172,8 +174,18 @@ func submitPatchesBox(box *gui.Node) *patchSummary {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
s.submitB = s.grid.NewButton("Submit Patches", func() {
|
s.submitB = s.grid.NewButton("Submit Patches", func() {
|
||||||
for i, p := range s.allp {
|
patchdir := filepath.Join(me.userHomePwd.String(), "autotypist.patchset")
|
||||||
log.Info(i, p.ref, p.rs.String())
|
if shell.Exists(patchdir) {
|
||||||
|
log.Info("patchset dir already exists", patchdir)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
shell.Mkdir(patchdir)
|
||||||
|
}
|
||||||
|
if !shell.Exists(patchdir) {
|
||||||
|
log.Info("something went wrong making", patchdir)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if makePatchset(patchdir) {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
// disable these until there are not dirty repos
|
// disable these until there are not dirty repos
|
||||||
|
@ -188,7 +200,12 @@ func (s *patchSummary) Update() {
|
||||||
for _, repo := range me.allrepos {
|
for _, repo := range me.allrepos {
|
||||||
total += 1
|
total += 1
|
||||||
if repo.status.CheckDirty() {
|
if repo.status.CheckDirty() {
|
||||||
dirty += 1
|
if repo.String() == "go.wit.com/apps/autotypist" {
|
||||||
|
// log.Info("ignoring dirty autotypist for now")
|
||||||
|
dirty += 1
|
||||||
|
} else {
|
||||||
|
dirty += 1
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if repo.status.ReadOnly() {
|
if repo.status.ReadOnly() {
|
||||||
readonly += 1
|
readonly += 1
|
||||||
|
@ -248,3 +265,31 @@ func (s *patchSummary) GetPatches() (int, []*patch) {
|
||||||
}
|
}
|
||||||
return patchcount, patches
|
return patchcount, patches
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func makePatchset(setdir string) bool {
|
||||||
|
for _, repo := range me.allrepos {
|
||||||
|
userv := repo.status.GetUserVersion()
|
||||||
|
develv := repo.status.GetDevelVersion()
|
||||||
|
usern := repo.status.GetUserBranchName()
|
||||||
|
develn := repo.status.GetDevelBranchName()
|
||||||
|
if userv == develv {
|
||||||
|
// this repo is unchanged
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
repodir := filepath.Join(setdir, repo.String())
|
||||||
|
shell.Mkdir(repodir)
|
||||||
|
// git format-patch branch1..branch2
|
||||||
|
gitcmd := []string{"git", "format-patch", "-o", repodir, develn + ".." + usern}
|
||||||
|
log.Info("Run:", gitcmd)
|
||||||
|
err, output := repo.status.RunCmd(gitcmd)
|
||||||
|
log.Info("output =", output)
|
||||||
|
if err == nil {
|
||||||
|
log.Info("patches made okay for:", repo.String())
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
log.Info("patches failed for:", repo.String())
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue