Skip to content

Commit

Permalink
Be less aggressive with CHMOD filesystem events
Browse files Browse the repository at this point in the history
On 4679fbe, 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: ["<path>": 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 gohugoio#1587.
  • Loading branch information
melo committed Jul 26, 2016
1 parent 91b61b9 commit 4874afc
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion commands/hugo.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

Expand Down

0 comments on commit 4874afc

Please sign in to comment.