Remove the internal GitInfo type and make Page.GitInf() return a pointer

See #5693
This commit is contained in:
Bjørn Erik Pedersen
2025-07-07 13:03:57 +02:00
parent 61e6c730dd
commit 90d397b142
10 changed files with 16 additions and 62 deletions

View File

@@ -30,14 +30,14 @@ type gitInfo struct {
repo *gitmap.GitRepo
}
func (g *gitInfo) forPage(p page.Page) source.GitInfo {
func (g *gitInfo) forPage(p page.Page) *source.GitInfo {
name := strings.TrimPrefix(filepath.ToSlash(p.File().Filename()), g.contentDir)
name = strings.TrimPrefix(name, "/")
gi, found := g.repo.Files[name]
if !found {
return source.GitInfo{}
return nil
}
return source.NewGitInfo(*gi)
return gi
}
func newGitInfo(d *deps.Deps) (*gitInfo, error) {

View File

@@ -230,13 +230,13 @@ func (h *HugoSites) RegularPages() page.Pages {
return v
}
func (h *HugoSites) gitInfoForPage(p page.Page) (source.GitInfo, error) {
func (h *HugoSites) gitInfoForPage(p page.Page) (*source.GitInfo, error) {
if _, err := h.init.gitInfo.Do(context.Background()); err != nil {
return source.GitInfo{}, err
return nil, err
}
if h.gitInfo == nil {
return source.GitInfo{}, nil
return nil, nil
}
return h.gitInfo.forPage(p), nil

View File

@@ -238,7 +238,7 @@ func (p *pageState) ApplyFilterToHeadings(ctx context.Context, fn func(*tableofc
}
}
func (p *pageState) GitInfo() source.GitInfo {
func (p *pageState) GitInfo() *source.GitInfo {
return p.gitInfo
}

View File

@@ -86,7 +86,7 @@ type pageCommon struct {
targetPathDescriptor page.TargetPathDescriptor
// Set if feature enabled and this is in a Git repo.
gitInfo source.GitInfo
gitInfo *source.GitInfo
codeowners []string
// Positional navigation

View File

@@ -405,7 +405,7 @@ func (p *pageState) setMetaPostParams() error {
}
var gitAuthorDate time.Time
if !p.gitInfo.IsZero() {
if p.gitInfo != nil {
gitAuthorDate = p.gitInfo.AuthorDate
}