diff --git a/deb/local.go b/deb/local.go index 4be46076..e0da96f1 100644 --- a/deb/local.go +++ b/deb/local.go @@ -168,6 +168,8 @@ func (collection *LocalRepoCollection) Update(repo *LocalRepo) error { // LoadComplete loads additional information for local repo func (collection *LocalRepoCollection) LoadComplete(repo *LocalRepo) error { + repo.packageRefs = &PackageRefList{} + encoded, err := collection.db.Get(repo.RefKey()) if err == database.ErrNotFound { return nil @@ -176,7 +178,6 @@ func (collection *LocalRepoCollection) LoadComplete(repo *LocalRepo) error { return err } - repo.packageRefs = &PackageRefList{} return repo.packageRefs.Decode(encoded) } diff --git a/deb/reflist.go b/deb/reflist.go index e559cad4..0a5c1831 100644 --- a/deb/reflist.go +++ b/deb/reflist.go @@ -79,6 +79,9 @@ func (l *PackageRefList) Decode(input []byte) error { // ForEach calls handler for each package ref in list func (l *PackageRefList) ForEach(handler func([]byte) error) error { + if l == nil { + return nil + } var err error for _, p := range l.Refs { err = handler(p)