X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=main.go;h=818b8dafeb830d85300c397107020572bfe0c32f;hb=3e54a0b7b57f437247bb2d7b3ee15fdbdc6efff7;hp=ae49949aae47baa804287ca5c772c7e94e563ecb;hpb=6ef14f9de82e4a61532b84b149bde0c953d58a04;p=goredo.git diff --git a/main.go b/main.go index ae49949..818b8da 100644 --- 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()