use temporary map to prevent UI disruption during tags calculation (#60)

This commit is contained in:
jonny08152 2021-12-22 10:07:31 +01:00 committed by GitHub
parent 19d15065ed
commit 905e8f793b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -179,10 +179,11 @@ func (c *Client) Repositories(useCache bool) map[string][]string {
linkRegexp := regexp.MustCompile("^<(.*?)>;.*$") linkRegexp := regexp.MustCompile("^<(.*?)>;.*$")
scope := "registry:catalog:*" scope := "registry:catalog:*"
uri := "/v2/_catalog" uri := "/v2/_catalog"
c.repos = map[string][]string{} tmp := map[string][]string{}
for { for {
data, resp := c.callRegistry(uri, scope, "manifest.v2") data, resp := c.callRegistry(uri, scope, "manifest.v2")
if data == "" { if data == "" {
c.repos = tmp
return c.repos return c.repos
} }
@ -194,7 +195,7 @@ func (c *Client) Repositories(useCache bool) map[string][]string {
namespace = f[0] namespace = f[0]
repo = f[1] repo = f[1]
} }
c.repos[namespace] = append(c.repos[namespace], repo) tmp[namespace] = append(tmp[namespace], repo)
} }
// pagination // pagination
@ -208,6 +209,7 @@ func (c *Client) Repositories(useCache bool) map[string][]string {
break break
} }
} }
c.repos = tmp
return c.repos return c.repos
} }