From: Pedro Melo Date: Tue, 26 Jul 2016 20:18:15 +0000 (+0100) Subject: Be less aggressive with CHMOD filesystem events X-Git-Tag: v0.17~221 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=3e1b579c17e3597b5a1bafd1d86f6b0b1d06ca52;p=brevno-suite%2Fhugo 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. --- diff --git a/commands/hugo.go b/commands/hugo.go index d1b82d80..f05b3da6 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 }