move xterm here
This commit is contained in:
parent
a8088938d2
commit
51e34a86ff
4
flags.go
4
flags.go
|
@ -9,12 +9,12 @@ import (
|
|||
)
|
||||
|
||||
var REPO *log.LogFlag
|
||||
var REPOWARN *log.LogFlag
|
||||
var WARN *log.LogFlag
|
||||
|
||||
func init() {
|
||||
full := "go.wit.com/lib/gui/repo"
|
||||
short := "repo"
|
||||
|
||||
REPO = log.NewFlag("REPO", false, full, short, "general repo things")
|
||||
REPOWARN = log.NewFlag("REPOWARN", true, full, short, "repo warnings")
|
||||
WARN = log.NewFlag("REPOWARN", true, full, short, "repo warnings")
|
||||
}
|
||||
|
|
16
newRepo.go
16
newRepo.go
|
@ -103,10 +103,10 @@ func (r *RepoList) AddRepo(pb *gitpb.Repo) (*RepoRow, error) {
|
|||
|
||||
newRepo.endBox.NewButton("show diff", func() {
|
||||
r.reposbox.Disable()
|
||||
log.Log(REPOWARN, "show diff currentName =", newRepo.currentName.String())
|
||||
log.Log(REPOWARN, "show diff masterVersion =", newRepo.masterVersion.String())
|
||||
log.Log(WARN, "show diff currentName =", newRepo.currentName.String())
|
||||
log.Log(WARN, "show diff masterVersion =", newRepo.masterVersion.String())
|
||||
// newRepo.Status.XtermNohup([]string{"git diff"})
|
||||
newRepo.Status.Xterm("git diff; bash")
|
||||
newRepo.Xterm("git diff; bash")
|
||||
r.reposbox.Enable()
|
||||
})
|
||||
|
||||
|
@ -117,17 +117,17 @@ func (r *RepoList) AddRepo(pb *gitpb.Repo) (*RepoRow, error) {
|
|||
return
|
||||
}
|
||||
if !pb.IsUserBranch() {
|
||||
log.Log(REPOWARN, "can not commit on non user branch")
|
||||
log.Log(WARN, "can not commit on non user branch")
|
||||
return
|
||||
}
|
||||
r.reposbox.Disable()
|
||||
|
||||
// restore anything staged so everything can be reviewed
|
||||
pb.RunRealtimeVerbose([]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")
|
||||
newRepo.XtermWait("git diff")
|
||||
newRepo.XtermWait("git add --all")
|
||||
newRepo.XtermWait("git commit -a")
|
||||
newRepo.XtermWait("git push")
|
||||
if newRepo.Status.CheckDirty() {
|
||||
// commit was not done, restore diff
|
||||
pb.RunRealtimeVerbose([]string{"git", "restore", "--staged", "."})
|
||||
|
|
4
scan.go
4
scan.go
|
@ -47,12 +47,12 @@ func (r *RepoRow) UpdatePb(newpb *gitpb.Repo) {
|
|||
func (r *RepoRow) NewScan() int {
|
||||
var changed int = 0
|
||||
if r.Status == nil {
|
||||
log.Log(REPOWARN, "repo.Status = nil. not initialized for some reason")
|
||||
log.Log(WARN, "repo.Status = nil. not initialized for some reason")
|
||||
return changed
|
||||
}
|
||||
pb := r.pb
|
||||
if pb == nil {
|
||||
log.Log(REPOWARN, "NewScan() pb = nil")
|
||||
log.Log(WARN, "NewScan() pb = nil")
|
||||
return changed
|
||||
}
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ func (r *RepoList) Watchdog(f func()) {
|
|||
}
|
||||
// print every 'delay' seconds
|
||||
if i%delay == 0 {
|
||||
log.Log(REPOWARN, "Not auto scanning", i, "REPO_AUTO_SCAN =", os.Getenv("REPO_AUTO_SCAN"))
|
||||
log.Log(WARN, "Not auto scanning", i, "REPO_AUTO_SCAN =", os.Getenv("REPO_AUTO_SCAN"))
|
||||
}
|
||||
return
|
||||
}
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
package repolist
|
||||
|
||||
import (
|
||||
"os"
|
||||
"os/exec"
|
||||
"strings"
|
||||
|
||||
"go.wit.com/lib/gui/shell"
|
||||
"go.wit.com/log"
|
||||
)
|
||||
|
||||
func (rs *RepoRow) XtermNohup(cmdline string) {
|
||||
p := rs.pb.GetFullPath()
|
||||
shell.XtermCmd(p, []string{cmdline})
|
||||
}
|
||||
func (rs *RepoRow) Xterm(cmdline string) {
|
||||
p := rs.pb.GetFullPath()
|
||||
shell.XtermCmd(p, []string{cmdline})
|
||||
}
|
||||
func (rs *RepoRow) XtermWait(cmdline string) {
|
||||
p := rs.pb.GetFullPath()
|
||||
shell.XtermCmdWait(p, []string{cmdline})
|
||||
}
|
||||
|
||||
func (rs *RepoRow) XtermBash(args []string) {
|
||||
var argsX = []string{"-geometry", "120x40"}
|
||||
tmp := strings.Join(args, " ") + ";bash"
|
||||
argsX = append(argsX, "-e", "bash", "-c", tmp)
|
||||
argsX = append(argsX, args...)
|
||||
log.Info("xterm cmd=", argsX)
|
||||
// set less to not exit on small diff's
|
||||
os.Setenv("LESS", "-+F -+X -R")
|
||||
cmd := exec.Command("xterm", argsX...)
|
||||
path := rs.pb.GetFullPath()
|
||||
cmd.Dir = path
|
||||
if err := cmd.Run(); err != nil {
|
||||
log.Log(WARN, "xterm.Run() failed")
|
||||
log.Log(WARN, "path =", path)
|
||||
log.Log(WARN, "cmd = xterm", argsX)
|
||||
} else {
|
||||
log.Log(WARN, "xterm.Run() worked")
|
||||
log.Log(WARN, "path =", path)
|
||||
log.Log(WARN, "cmd = xterm", argsX)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue