aboutsummaryrefslogtreecommitdiffstats
path: root/watcher.go
diff options
context:
space:
mode:
authorBernhard Guillon <Bernhard.Guillon@begu.org>2026-07-07 23:17:20 +0200
committerBernhard Guillon <Bernhard.Guillon@begu.org>2026-07-07 23:17:20 +0200
commita62e42b9be8402301631c9043f640eb7f43eff29 (patch)
treed85b47ba88a15d9aa7a109c1cd6426ba9faee4f5 /watcher.go
parent2850cd0c3156cdeb42594664cc087641fe740236 (diff)
downloadsourcewatch-a62e42b9be8402301631c9043f640eb7f43eff29.tar.gz
sourcewatch-a62e42b9be8402301631c9043f640eb7f43eff29.zip
Add FNV-1a content hash to detect same-size changesHEADmain
Diffstat (limited to 'watcher.go')
-rw-r--r--watcher.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/watcher.go b/watcher.go
index 137bb36..284c3fa 100644
--- a/watcher.go
+++ b/watcher.go
@@ -99,7 +99,8 @@ func syncWrite(srcPath, destPath, relPath string, manifest *Manifest, dryRun boo
}
meta, exists := manifest.Files[relPath]
- if exists && meta.Size == info.Size() && meta.Symlink == linkTarget {
+ srcHash := hashFile(srcPath)
+ if exists && meta.Size == info.Size() && meta.Symlink == linkTarget && (srcHash == 0 || meta.Hash == srcHash) {
return
}
@@ -108,6 +109,7 @@ func syncWrite(srcPath, destPath, relPath string, manifest *Manifest, dryRun boo
Mode: info.Mode(),
ModTime: info.ModTime(),
Symlink: linkTarget,
+ Hash: srcHash,
}
if dryRun {