- } else {
- hsh, err := fileHash(fd)
- if err != nil {
- return ood, err
- }
- if theirHsh == hsh {
- trace(CDebug, "ood: %s%s -> %s: same hash", indent, tgtOrig, dep)
- } else {
- trace(CDebug, "ood: %s%s -> %s: hash differs", indent, tgtOrig, dep)
- ood = true
- }
- }
- fd.Close()
- if ood {
- continue
- }
- if dep == tgt {
- trace(CDebug, "ood: %s%s -> %s: same target", indent, tgtOrig, dep)
- continue
- }
- if isSrc(cwd, dep) {
- trace(CDebug, "ood: %s%s -> %s: is source", indent, tgtOrig, dep)
- continue
- } else {
- depOod, err := isOOD(cwd, dep, level+1)
- if depOod {
- ood = true
- trace(CDebug, "ood: %s%s -> %s: ood", indent, tgtOrig, dep)
- } else {
- trace(CDebug, "ood: %s%s -> %s: !ood", indent, tgtOrig, dep)
- }
- if err != nil {
- return ood, err
- }