Remember to attach the parent tree when converting TreeEntry() -> Tree() (#22902)

!fixup https://github.com/go-gitea/gitea/pull/22177

The only place this function is used so far is in
findReadmeFileInEntries(), so the only visible effect of this oversight
was in an obscure README-related corner: if the README was in a
subfolder and was a symlink that pointed up, as in .github/README.md ->
../docs/old/setup.md, the README would fail to render when FollowLinks()
hit the nil ptree. This makes the ptree non-nil and thus repairs it.
This commit is contained in:
Nick 2023-02-14 16:23:04 -05:00 committed by GitHub
parent 71ee488098
commit 618c9118c1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -101,12 +101,13 @@ func (te *TreeEntry) FollowLinks() (*TreeEntry, error) {
return entry, nil return entry, nil
} }
// returns the subtree, or nil if this is not a tree // returns the Tree pointed to by this TreeEntry, or nil if this is not a tree
func (te *TreeEntry) Tree() *Tree { func (te *TreeEntry) Tree() *Tree {
t, err := te.ptree.repo.getTree(te.ID) t, err := te.ptree.repo.getTree(te.ID)
if err != nil { if err != nil {
return nil return nil
} }
t.ptree = te.ptree
return t return t
} }