From 4a96df96d958a8ce122f103c4b417eaba52e6cb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Thu, 12 May 2022 11:18:18 +0200 Subject: [PATCH] server: Always rebuild the files involved in an error Fixes #9884 --- commands/hugo.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/commands/hugo.go b/commands/hugo.go index c13fdce06..ada1e1cef 100644 --- a/commands/hugo.go +++ b/commands/hugo.go @@ -33,6 +33,7 @@ import ( "github.com/gohugoio/hugo/hugofs/files" "github.com/gohugoio/hugo/tpl" + "github.com/gohugoio/hugo/common/herrors" "github.com/gohugoio/hugo/common/htime" "github.com/gohugoio/hugo/common/types" @@ -742,6 +743,12 @@ func (c *commandeer) handleBuildErr(err error, msg string) { } func (c *commandeer) rebuildSites(events []fsnotify.Event) error { + if c.buildErr != nil { + ferrs := herrors.UnwrapFileErrorsWithErrorContext(c.buildErr) + for _, err := range ferrs { + events = append(events, fsnotify.Event{Name: err.Position().Filename, Op: fsnotify.Write}) + } + } c.buildErr = nil visited := c.visitedURLs.PeekAllSet() if c.fastRenderMode {