X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=main.go;h=f87bdac0d7f97295c88664af3706c20211e2f5be;hb=0030b3e73152bf9d9ad3e435fa42e607c7865321;hp=9f1158182194446d20e8a2c0a103d9b4fa3d86f5;hpb=d8abe40c66df8d79a025524c0d230959cacf9465;p=goredo.git diff --git a/main.go b/main.go index 9f11581..f87bdac 100644 --- a/main.go +++ b/main.go @@ -1,6 +1,6 @@ /* goredo -- djb's redo implementation on pure Go -Copyright (C) 2020-2021 Sergey Matveev +Copyright (C) 2020-2022 Sergey Matveev This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -138,10 +138,6 @@ func main() { log.Fatalln(err) } - NoColor = os.Getenv(EnvNoColor) != "" - NoSync = os.Getenv(EnvNoSync) == "1" - InodeTrust = os.Getenv(EnvInodeNoTrust) == "" - TopDir = os.Getenv(EnvTopDir) if TopDir == "" { TopDir = "/" @@ -198,6 +194,19 @@ func main() { } else if flagTrace != nil { traced = *flagTrace } + NoColor = os.Getenv(EnvNoColor) != "" + NoSync = os.Getenv(EnvNoSync) == "1" + switch s := os.Getenv(EnvInodeTrust); s { + case "none": + InodeTrust = InodeTrustNone + case "", "ctime": + InodeTrust = InodeTrustCtime + case "mtime": + InodeTrust = InodeTrustMtime + default: + log.Fatalln("unknown", EnvInodeTrust, "value") + } + tracef(CDebug, "inode-trust: %s", InodeTrust) // Those are internal envs FdOODTgts, err = ioutil.TempFile("", "ood-tgts") @@ -320,7 +329,7 @@ CmdSwitch: case CmdNameRedoIfchange: ok, err = ifchange(tgts, false, traced) if err == nil { - err = writeDeps(fdDep, tgts) + err = depsWrite(fdDep, tgts) } case CmdNameRedoIfcreate: if fdDep == nil {