Revert "hugolib: Fix live-reload regression for add/removal of dirs"
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 7 Jun 2017 20:31:57 +0000 (22:31 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 7 Jun 2017 20:31:57 +0000 (22:31 +0200)
Never mind. The "adding dir" scenario didn't work anyway, so that will need another fix.

This reverts commit 49a104309d53af243b32443a59bdc2a6fc9beeef.

Closes ##3325

hugolib/site.go
source/filesystem.go

index 0dfa3a30ead628839b0aceb54f4fa41c597e0305..8740f11d5db485e29bd3339eaf5046f21b1f797d 100644 (file)
@@ -753,6 +753,9 @@ func (s *Site) reProcess(events []fsnotify.Event) (whatChanged, error) {
                go pageConverter(pageChan, convertResults, wg2)
        }
 
+       sp := source.NewSourceSpec(s.Cfg, s.Fs)
+       fs := sp.NewFilesystem("")
+
        for _, ev := range sourceChanged {
                // The incrementalReadCollator below will also make changes to the site's pages,
                // so we do this first to prevent races.
@@ -775,6 +778,15 @@ func (s *Site) reProcess(events []fsnotify.Event) (whatChanged, error) {
                        }
                }
 
+               // ignore files shouldn't be proceed
+               if fi, err := s.Fs.Source.Stat(ev.Name); err != nil {
+                       continue
+               } else {
+                       if ok, err := fs.ShouldRead(ev.Name, fi); err != nil || !ok {
+                               continue
+                       }
+               }
+
                sourceReallyChanged = append(sourceReallyChanged, ev)
        }
 
index a13128144335deb69d4ec79dbf97644b8122f8e9..ceea96ea5d0b4545ad3b87e7f29a0031f469a5ae 100644 (file)
@@ -90,7 +90,7 @@ func (f *Filesystem) captureFiles() {
                        return nil
                }
 
-               b, err := f.shouldRead(filePath, fi)
+               b, err := f.ShouldRead(filePath, fi)
                if err != nil {
                        return err
                }
@@ -118,7 +118,7 @@ func (f *Filesystem) captureFiles() {
 
 }
 
-func (f *Filesystem) shouldRead(filePath string, fi os.FileInfo) (bool, error) {
+func (f *Filesystem) ShouldRead(filePath string, fi os.FileInfo) (bool, error) {
        if fi.Mode()&os.ModeSymlink == os.ModeSymlink {
                link, err := filepath.EvalSymlinks(filePath)
                if err != nil {