]> Cypherpunks.ru repositories - goredo.git/blobdiff - main.go
Move tai64nlocal to tai64n module
[goredo.git] / main.go
diff --git a/main.go b/main.go
index ae49949aae47baa804287ca5c772c7e94e563ecb..818b8dafeb830d85300c397107020572bfe0c32f 100644 (file)
--- a/main.go
+++ b/main.go
@@ -84,6 +84,7 @@ func main() {
                        "redo-stamp",
                        "redo-whichdo",
                } {
+                       fmt.Println(os.Args[0], "<-", cmdName)
                        if err := os.Symlink(os.Args[0], cmdName); err != nil {
                                rc = 1
                                log.Println(err)
@@ -100,7 +101,6 @@ func main() {
        }
 
        NoColor = os.Getenv(EnvNoColor) != ""
-       NoHash = os.Getenv(EnvNoHash) == "1"
        NoSync = os.Getenv(EnvNoSync) == "1"
 
        TopDir = os.Getenv(EnvTopDir)
@@ -141,10 +141,11 @@ func main() {
        if Debug || os.Getenv(EnvLogPid) == "1" {
                MyPid = os.Getpid()
        }
+       var traced bool
        if *flagTrace {
-               Trace = true
+               traced = true
        } else {
-               Trace = os.Getenv(EnvTrace) == "1"
+               traced = os.Getenv(EnvTrace) == "1"
        }
 
        // Those are internal envs
@@ -174,7 +175,7 @@ func main() {
                        raw[0:4], raw[4:6], raw[6:8], raw[8:10], raw[10:],
                )
        }
-       StampPrev = os.Getenv(EnvStampPrev)
+       statusInit()
 
        tgts := flag.Args()
        if len(tgts) == 0 {
@@ -188,10 +189,14 @@ func main() {
 CmdSwitch:
        switch cmdName {
        case "redo":
-               Force = true
-               ok, err = ifchange(tgts)
+               for _, tgt := range tgts {
+                       ok, err = ifchange([]string{tgt}, true, traced)
+                       if err != nil || !ok {
+                               break
+                       }
+               }
        case "redo-ifchange":
-               ok, err = ifchange(tgts)
+               ok, err = ifchange(tgts, false, traced)
                writeDeps(fdDep, tgts)
        case "redo-ifcreate":
                if fdDep == nil {
@@ -249,7 +254,10 @@ CmdSwitch:
                if err != nil {
                        break
                }
-               fdTmp.Seek(0, 0)
+               _, err = fdTmp.Seek(0, 0)
+               if err != nil {
+                       break
+               }
                r := recfile.NewReader(fdTmp)
                for {
                        m, err := r.NextMap()