CmdNameRedoStamp = "redo-stamp"
CmdNameRedoTargets = "redo-targets"
CmdNameRedoWhichdo = "redo-whichdo"
+ CmdNameRedoDepFix = "redo-depfix"
)
var (
Cwd string
BuildUUID string
IsTopRedo bool // is it the top redo instance
+ UmaskCur int
)
func mustSetenv(key string) {
CmdNameRedoAffects,
CmdNameRedoAlways,
CmdNameRedoCleanup,
+ CmdNameRedoDepFix,
CmdNameRedoDot,
CmdNameRedoIfchange,
CmdNameRedoIfcreate,
}
log.SetFlags(log.Lshortfile)
+ UmaskCur = syscall.Umask(0)
+ syscall.Umask(UmaskCur)
+
var err error
Cwd, err = os.Getwd()
if err != nil {
}
NoColor = os.Getenv(EnvNoColor) != ""
NoSync = os.Getenv(EnvNoSync) == "1"
+ StopIfMod = os.Getenv(EnvStopIfMod) == "1"
switch s := os.Getenv(EnvInodeTrust); s {
case "none":
InodeTrust = InodeTrustNone
}
}
case CmdNameRedoIfchange:
- ok, err = ifchange(tgts, false, traced)
+ ok, err = ifchange(tgts, *flagForcedIfchange, traced)
if err == nil {
err = depsWrite(fdDep, tgts)
}
}
for _, tgt := range tgts {
tgtRel, err := filepath.Rel(
- filepath.Join(Cwd, DirPrefix),
- filepath.Join(Cwd, tgt),
+ path.Join(Cwd, DirPrefix),
+ path.Join(Cwd, tgt),
)
if err != nil {
break
for _, src := range srcs {
fmt.Println(src)
}
+ case CmdNameRedoDepFix:
+ err = depFix(Cwd)
default:
log.Fatalln("unknown command", cmdName)
}