From af77745bd0429428851b0f752984932d3e1188a8 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Wed, 15 Jan 2020 11:34:20 +0300 Subject: [PATCH] Take in advance possible notes objects tree fanout --- cmd/sgblog/main.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/cmd/sgblog/main.go b/cmd/sgblog/main.go index 4dc9fb2..5ee199e 100644 --- a/cmd/sgblog/main.go +++ b/cmd/sgblog/main.go @@ -137,8 +137,19 @@ func getNote(tree *object.Tree, what plumbing.Hash) []byte { if tree == nil { return nil } - entry, err := tree.FindEntry(what.String()) - if err != nil { + var entry *object.TreeEntry + var err error + paths := make([]string, 3) + paths[0] = what.String() + paths[1] = paths[0][:2] + "/" + paths[0][2:] + paths[2] = paths[1][:4+1] + "/" + paths[1][4+1:] + for _, p := range paths { + entry, err = tree.FindEntry(p) + if err == nil { + break + } + } + if entry == nil { return nil } blob, err := repo.BlobObject(entry.Hash) -- 2.44.0