summaryrefslogtreecommitdiffstats
path: root/hugolib/filesystems
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-03-04 07:07:11 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-03-04 08:43:47 +0100
commit673cde1eb122888509cca32e322662af08187ff1 (patch)
tree6afd5bb1429c073fe8b05806f01550722faa97ab /hugolib/filesystems
parente46e9ceb29581de3a32c8155f7cfd58ab59b2b8f (diff)
tpl/os: Revert readDir in theme behaviour
Fixes #9599
Diffstat (limited to 'hugolib/filesystems')
-rw-r--r--hugolib/filesystems/basefs.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/hugolib/filesystems/basefs.go b/hugolib/filesystems/basefs.go
index aae3613f2..04648c25f 100644
--- a/hugolib/filesystems/basefs.go
+++ b/hugolib/filesystems/basefs.go
@@ -68,6 +68,9 @@ type BaseFs struct {
// This usually maps to /my-project/public.
PublishFs afero.Fs
+ // A read-only filesystem from the project workDir (no theme here).
+ WorkDir afero.Fs
+
theBigFs *filesystemsCollector
// Locks.
@@ -202,7 +205,7 @@ type SourceFilesystems struct {
// with any sub module's resource fs layered below.
ResourcesCache afero.Fs
- // The project folder.
+ // The work folder (may be a composite of project and theme components).
Work afero.Fs
// When in multihost we have one static filesystem per language. The sync
@@ -435,9 +438,11 @@ func NewBase(p *paths.Paths, logger loggers.Logger, options ...func(*BaseFs) err
publishFs := hugofs.NewBaseFileDecorator(afero.NewBasePathFs(fs.Destination, p.AbsPublishDir))
sourceFs := hugofs.NewBaseFileDecorator(afero.NewBasePathFs(fs.Source, p.WorkingDir))
+ workDir := hugofs.NewBaseFileDecorator(afero.NewBasePathFs(afero.NewReadOnlyFs(fs.Source), p.WorkingDir))
b := &BaseFs{
SourceFs: sourceFs,
+ WorkDir: workDir,
PublishFs: publishFs,
buildMu: lockedfile.MutexAt(filepath.Join(p.WorkingDir, lockFileBuild)),
}