summaryrefslogtreecommitdiffstats
path: root/hugolib/filesystems
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-01-22 11:57:23 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-01-23 11:50:02 +0100
commit17af79a03e249a731cf5634ffea23ca00774333d (patch)
tree66596a159aa57c948f1ffe272e5cd8ab86c7c1bf /hugolib/filesystems
parent2fefc01606fddb119f368c89fb2dedd452ad6547 (diff)
Fix 0.62.1 server rebuild slowdown regression
Fixes #6784
Diffstat (limited to 'hugolib/filesystems')
-rw-r--r--hugolib/filesystems/basefs.go13
1 files changed, 4 insertions, 9 deletions
diff --git a/hugolib/filesystems/basefs.go b/hugolib/filesystems/basefs.go
index cf9ff3c38..5cede88d0 100644
--- a/hugolib/filesystems/basefs.go
+++ b/hugolib/filesystems/basefs.go
@@ -295,21 +295,16 @@ func (d *SourceFilesystem) Contains(filename string) bool {
return false
}
-// Path returns the relative path to the given filename if it is a member of
+// Path returns the mount relative path to the given filename if it is a member of
// of the current filesystem, an empty string if not.
func (d *SourceFilesystem) Path(filename string) string {
for _, dir := range d.Dirs {
meta := dir.Meta()
- if !dir.IsDir() {
- if filename == meta.Filename() {
- return meta.PathFile()
- }
- continue
- }
-
if strings.HasPrefix(filename, meta.Filename()) {
p := strings.TrimPrefix(strings.TrimPrefix(filename, meta.Filename()), filePathSeparator)
- p = path.Join(meta.PathFile(), p)
+ if mountRoot := meta.MountRoot(); mountRoot != "" {
+ return filepath.Join(mountRoot, p)
+ }
return p
}
}