]> Cypherpunks.ru repositories - goredo.git/blobdiff - main.go
Do not use deprecated os.SEEK_*
[goredo.git] / main.go
diff --git a/main.go b/main.go
index 4de78be52fa786830cfbb92862c1c495cd59140a..a3773f43b3ce5b7dc96b09a1e52b5570ab084ba8 100644 (file)
--- a/main.go
+++ b/main.go
@@ -29,6 +29,8 @@ import (
        "os"
        "path"
        "path/filepath"
+       "runtime"
+       "sort"
        "strconv"
 
        "go.cypherpunks.ru/recfile"
@@ -63,14 +65,14 @@ func main() {
        warranty := flag.Bool("warranty", false, "print warranty information")
        symlinks := flag.Bool("symlinks", false, "create necessary symlinks in current directory")
 
-       flag.Usage = usage
+       flag.Usage = func() { usage(os.Args[0]) }
        flag.Parse()
        if *warranty {
                fmt.Println(Warranty)
                return
        }
        if *version {
-               fmt.Println(versionGet())
+               fmt.Println("goredo", Version, "built with", runtime.Version())
                return
        }
        if *symlinks {
@@ -83,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)
@@ -183,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))
@@ -322,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
                }
@@ -352,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)
        }