aboutsummaryrefslogtreecommitdiff
path: root/internal/scan/scan.go
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-09-14 21:43:23 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-09-14 21:43:23 +0200
commitc497d173b24b1b8247fac9e996e5c0fe690c1769 (patch)
tree2318ff1cf393e3a6c2a7d54c89e205ac6a9a5c73 /internal/scan/scan.go
parent360591d6e18d8676a2f86185ed42f46852387f85 (diff)
downloadkrino-c497d173b24b1b8247fac9e996e5c0fe690c1769.tar.gz
krino-c497d173b24b1b8247fac9e996e5c0fe690c1769.zip
plan 9: undo review matches review, --min-age validated, future mtimes, rule names, conflict enum, dependency gate, absolute tool paths
Diffstat (limited to 'internal/scan/scan.go')
-rw-r--r--internal/scan/scan.go12
1 files changed, 11 insertions, 1 deletions
diff --git a/internal/scan/scan.go b/internal/scan/scan.go
index 77cca66..bd717e0 100644
--- a/internal/scan/scan.go
+++ b/internal/scan/scan.go
@@ -229,7 +229,7 @@ func (w *walker) walk(dir, relDir string, depth int, entries []os.DirEntry) erro
w.result.Skipped = append(w.result.Skipped, Skipped{Rel: rel, Reason: Busy})
continue
}
- if w.opt.Now.Sub(info.ModTime()) < w.opt.MinAge {
+ if Age(w.opt.Now, info.ModTime()) < w.opt.MinAge {
w.result.Skipped = append(w.result.Skipped, Skipped{Rel: rel, Reason: TooNew})
continue
}
@@ -252,3 +252,13 @@ func (w *walker) isBusy(name string, names map[string]bool) bool {
}
return false
}
+
+// Age is how long ago mtime was, at now. A modification time ahead of the
+// clock (a skewed server, an archive's timestamps) counts as brand new: age
+// 0, so min-age 0 still considers the file (review cli F5).
+func Age(now, mtime time.Time) time.Duration {
+ if a := now.Sub(mtime); a > 0 {
+ return a
+ }
+ return 0
+}