diff options
Diffstat (limited to 'unix.go')
| -rw-r--r-- | unix.go | 78 |
1 files changed, 49 insertions, 29 deletions
@@ -119,6 +119,11 @@ func splitVersion(version string) (a, b, c string) { } } +func (rs *RepoStatus) RunCmdEcho(parts []string) (error, string) { + log.Info("RunCmdEcho()", parts) + return rs.RunCmd(parts) +} + func (rs *RepoStatus) RunCmd(parts []string) (error, string) { path := rs.realPath.String() err, _, output := shell.RunCmd(path, parts) @@ -269,22 +274,23 @@ func readFileToString(filename string) (string, error) { return strings.TrimSpace(string(data)), nil } -func getDateStamp(raw string) (string, string) { +func getDateStamp(raw string) (time.Time, string, string) { parts := strings.Split(raw, " ") if len(parts) == 0 { // raw was blank here - return "Jan 4 1977", "40y" // eh, why not. it'll be easy to grep for this + // return "Jan 4 1977", "40y" // eh, why not. it'll be easy to grep for this + return time.Now(), "Jan 4 1977", "40y" // eh, why not. it'll be easy to grep for this } i, err := strconv.ParseInt(parts[0], 10, 64) // base 10 string, return int64 if err != nil { log.Warn("Error converting timestamp:", raw) log.Warn("Error converting timestamp err =", err) - return raw, "" + return time.Now(), "", "" } // Parse the Unix timestamp into a time.Time object gitTagDate := time.Unix(i, 0) - return gitTagDate.UTC().Format("2006/01/02 15:04:05 UTC"), getDurationStamp(gitTagDate) + return gitTagDate, gitTagDate.UTC().Format("2006/01/02 15:04:05 UTC"), getDurationStamp(gitTagDate) } func getDurationStamp(t time.Time) string { @@ -323,16 +329,18 @@ func formatDuration(d time.Duration) string { return result } +func (rs *RepoStatus) XtermNohup(cmdline string) { + shell.XtermCmd(rs.Path(), []string{cmdline}) +} +func (rs *RepoStatus) Xterm(cmdline string) { + shell.XtermCmd(rs.Path(), []string{cmdline}) +} +func (rs *RepoStatus) XtermWait(cmdline string) { + shell.XtermCmdWait(rs.Path(), []string{cmdline}) +} +/* func (rs *RepoStatus) XtermNohup(args []string) { var argsX = []string{"xterm", "-geometry", "120x40"} - /* - if xtermHold.Checked() { - log.Println("hold = true") - argsXterm = append(argsXterm, "-hold") - } else { - log.Println("hold = false") - } - */ argsX = append(argsX, "-e", "bash", "-c") argsX = append(argsX, args...) log.Info("xterm cmd=", argsX) @@ -353,17 +361,11 @@ func (rs *RepoStatus) XtermNohup(args []string) { log.Info("cmd =", argsX) } } +*/ +/* func (rs *RepoStatus) Xterm(args []string) { var argsX = []string{"-geometry", "120x40"} - /* - if xtermHold.Checked() { - log.Println("hold = true") - argsXterm = append(argsXterm, "-hold") - } else { - log.Println("hold = false") - } - */ argsX = append(argsX, "-e", "bash", "-c") argsX = append(argsX, args...) log.Info("xterm cmd=", argsX) @@ -382,18 +384,36 @@ func (rs *RepoStatus) Xterm(args []string) { log.Info("cmd = xterm", argsX) } } +*/ +/* func (rs *RepoStatus) XtermHold(args []string) { var argsX = []string{"-hold", "-geometry", "120x40"} - /* - if xtermHold.Checked() { - log.Println("hold = true") - argsXterm = append(argsXterm, "-hold") - } else { - log.Println("hold = false") - } - */ - argsX = append(argsX, "-e", "bash", "-c") + 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.realPath.String() + cmd.Dir = path + if err := cmd.Run(); err != nil { + log.Info("xterm.Run() failed") + log.Info("path =", path) + log.Info("cmd = xterm", argsX) + } else { + log.Info("xterm.Run() worked") + log.Info("path =", path) + log.Info("cmd = xterm", argsX) + } +} +*/ + +func (rs *RepoStatus) 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 |
