hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit cfa73050a49b2646fe3557cefa0ed31989b0eeeb
parent 244e49c0ea9e2d52652dd52943d3df1d8fba6c2b
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date:   Sun, 22 Mar 2020 13:42:39 +0100

Fix cache reset for a page's collections on server live reload

Fixes #7085

Diffstat:
Mhugolib/content_map_page.go | 4++++
Mhugolib/page__new.go | 2+-
Mhugolib/site.go | 3+++
3 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/hugolib/content_map_page.go b/hugolib/content_map_page.go
@@ -797,6 +797,10 @@ type pagesMapBucket struct {
 
 	owner *pageState // The branch node
 
+	*pagesMapBucketPages
+}
+
+type pagesMapBucketPages struct {
 	pagesInit sync.Once
 	pages     page.Pages
 
diff --git a/hugolib/page__new.go b/hugolib/page__new.go
@@ -93,7 +93,7 @@ func newPageBase(metaProvider *pageMeta) (*pageState, error) {
 }
 
 func newPageBucket(p *pageState) *pagesMapBucket {
-	return &pagesMapBucket{owner: p}
+	return &pagesMapBucket{owner: p, pagesMapBucketPages: &pagesMapBucketPages{}}
 }
 
 func newPageFromMeta(
diff --git a/hugolib/site.go b/hugolib/site.go
@@ -1492,6 +1492,9 @@ func (s *Site) resetBuildState(sourceChanged bool) {
 		s.PageCollections = newPageCollections(s.pageMap)
 		s.pageMap.withEveryBundlePage(func(p *pageState) bool {
 			p.pagePages = &pagePages{}
+			if p.bucket != nil {
+				p.bucket.pagesMapBucketPages = &pagesMapBucketPages{}
+			}
 			p.parent = nil
 			p.Scratcher = maps.NewScratcher()
 			return false