X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=main.go;h=a3773f43b3ce5b7dc96b09a1e52b5570ab084ba8;hb=eb14a3333a632b22a4b698ca28fea6e6d11048b8;hp=ee5bf041f5f608dbc70a79e0d1c8c56b31223064;hpb=6f6dd2ce966c3c6c2f7d49f13498c192cffc1ea4;p=goredo.git diff --git a/main.go b/main.go index ee5bf04..a3773f4 100644 --- a/main.go +++ b/main.go @@ -30,6 +30,7 @@ import ( "path" "path/filepath" "runtime" + "sort" "strconv" "go.cypherpunks.ru/recfile" @@ -84,7 +85,10 @@ func main() { "redo-ifchange", "redo-ifcreate", "redo-log", + "redo-ood", + "redo-sources", "redo-stamp", + "redo-targets", "redo-whichdo", } { fmt.Println(os.Args[0], "<-", cmdName) @@ -184,7 +188,7 @@ func main() { if err = unix.Flock(int(fdLock.Fd()), unix.LOCK_EX); err != nil { panic(err) } - if _, err = fd.Seek(0, os.SEEK_SET); err != nil { + if _, err = fd.Seek(0, io.SeekStart); err != nil { panic(err) } tgtsRaw, err := ioutil.ReadAll(bufio.NewReader(fd)) @@ -323,7 +327,7 @@ CmdSwitch: if err != nil { break } - _, err = fdTmp.Seek(0, os.SEEK_SET) + _, err = fdTmp.Seek(0, io.SeekStart) if err != nil { break } @@ -353,6 +357,31 @@ CmdSwitch: } fmt.Println(rel) } + case "redo-targets": + tgts, err = targetsWalker(Cwd) + sort.Strings(tgts) + for _, tgt := range tgts { + fmt.Println(tgt) + } + case "redo-ood": + tgts, err = targetsWalker(Cwd) + sort.Strings(tgts) + var ood bool + for _, tgt := range tgts { + ood, err = isOOD(Cwd, tgt, 0, nil) + if err != nil { + break + } + if ood { + fmt.Println(tgt) + } + } + case "redo-sources": + tgts, err = sourcesWalker() + sort.Strings(tgts) + for _, tgt := range tgts { + fmt.Println(tgt) + } default: log.Fatalln("unknown command", cmdName) }