add repo caching for non-chan

This commit is contained in:
2023-02-07 00:27:02 -08:00
parent f5f268dff7
commit c2d04ed3b0
6 changed files with 42 additions and 24 deletions

View File

@@ -26,6 +26,23 @@ func init() {
repoCache = make(map[string][]types.Commit)
}
func CacheRepo(path string, commits []types.Commit) {
mapTex.Lock()
defer mapTex.Unlock()
repoCache[path] = commits
}
func GetCachedRepo(path string, head string) ([]types.Commit, bool) {
mapTex.RLock()
defer mapTex.RUnlock()
if commits, ok := repoCache[path]; !ok {
return []types.Commit{}, false
} else if len(commits) > 0 && commits[0].Hash == head {
return commits, true
}
return []types.Commit{}, false
}
func IsRepoCached(path string, head string) bool {
mapTex.RLock()
defer mapTex.RUnlock()
@@ -36,12 +53,6 @@ func IsRepoCached(path string, head string) bool {
}
}
func CacheRepo(path string, commits []types.Commit) {
mapTex.Lock()
defer mapTex.Unlock()
repoCache[path] = commits
}
func hashSlice(in []string) string {
sort.Strings(in)
sb := strings.Builder{}