]> Cypherpunks.ru repositories - goredo.git/blobdiff - ood.go
Fix wrong OOD cache value of the source file
[goredo.git] / ood.go
diff --git a/ood.go b/ood.go
index 25253ced2eaac52a57f49ba23f47fac50c91de35..b46ea63ee8d6a076090c6255caf2c311795397a3 100644 (file)
--- a/ood.go
+++ b/ood.go
@@ -137,9 +137,15 @@ func isOOD(cwd, tgtOrig string, level int, seen map[string]struct{}) (bool, erro
        depPath := path.Join(cwd, RedoDir, tgt+DepSuffix)
        fdDep, err := os.Open(depPath)
        if err != nil {
-               tracef(CDebug, "ood: %s%s -> no dep: %s", indent, tgtOrig, depPath)
-               OODCache[path.Join(cwd, tgt)] = true
-               return true, nil
+               if isSrc(cwd, tgt) {
+                       ood = false
+                       tracef(CDebug, "ood: %s%s -> is source", indent, tgtOrig)
+               } else {
+                       ood = true
+                       tracef(CDebug, "ood: %s%s -> no dep: %s", indent, tgtOrig, depPath)
+               }
+               OODCache[path.Join(cwd, tgt)] = ood
+               return ood, nil
        }
        depInfo, err := depRead(fdDep)
        fdDep.Close()