From 3e1b579c17e3597b5a1bafd1d86f6b0b1d06ca52 Mon Sep 17 00:00:00 2001 From: Pedro Melo Date: Tue, 26 Jul 2016 21:18:15 +0100 Subject: [PATCH] Be less aggressive with CHMOD filesystem events On 4679fbee41d3, rebuild was disabled on CHMOD filesystem events, but the code is overly aggressive. In some situations, specially with older Mac's (using a Late 2008 Macbook), the events we receive might be aggregated. On my particular laptop, I get this events: INFO: 2016/07/26 18:08:51 hugo.go:737: Received System Events: ["": WRITE|CHMOD] These events are ignored because the code only checks for Chmod. This commit fixes this by checking that the event is also not a Write or Create. Related to #1587. --- commands/hugo.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/commands/hugo.go b/commands/hugo.go index d1b82d804..f05b3da65 100644 --- a/commands/hugo.go +++ b/commands/hugo.go @@ -775,7 +775,10 @@ func NewWatcher(port int) error { // A workaround is to put your site(s) on the Spotlight exception list, // but that may be a little mysterious for most end users. // So, for now, we skip reload on CHMOD. - if ev.Op&fsnotify.Chmod == fsnotify.Chmod { + // We do have to check for WRITE though. On slower laptops a Chmod + // could be aggregated with other important events, and we still want + // to rebuild on those + if ev.Op&(fsnotify.Chmod|fsnotify.Write|fsnotify.Create) == fsnotify.Chmod { continue }