ref: 4679fbee41d34811edf3adf435611f51107c763b
parent: b08d9f26ae00b6c55f615ad6b8fc36608e684204
author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
date: Wed Nov 18 17:59:32 EST 2015
Do not rebuild on extra Spotlight filesystem events Write and rename operations are often followed by CHMOD. There may be valid use cases for rebuilding the site on CHMOD, but that will require more complex logic than this simple conditional. On OS X this seems to be related to Spotlight, see: https://github.com/go-fsnotify/fsnotify/issues/15 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. This small commit will be a 100% improvement for most OS X-users. Fixes #1587
--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -505,6 +505,18 @@
continue
}
+ // Write and rename operations are often followed by CHMOD.
+ // There may be valid use cases for rebuilding the site on CHMOD,
+ // but that will require more complex logic than this simple conditional.
+ // On OS X this seems to be related to Spotlight, see:
+ // https://github.com/go-fsnotify/fsnotify/issues/15
+ // 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 {
+ continue
+ }
+
isstatic := strings.HasPrefix(ev.Name, helpers.GetStaticDirPath()) || (len(helpers.GetThemesDirPath()) > 0 && strings.HasPrefix(ev.Name, helpers.GetThemesDirPath()))
staticChanged = staticChanged || isstatic
dynamicChanged = dynamicChanged || !isstatic
--
⑨