diff --git a/cmd/restic/cmd_find.go b/cmd/restic/cmd_find.go index fc1199ab6..9c11aba6c 100644 --- a/cmd/restic/cmd_find.go +++ b/cmd/restic/cmd_find.go @@ -66,7 +66,7 @@ func parseTime(str string) (time.Time, error) { func (c CmdFind) findInTree(s restic.Server, blob restic.Blob, path string) ([]findResult, error) { debug.Log("restic.find", "checking tree %v\n", blob) - tree, err := restic.LoadTree(s, blob) + tree, err := restic.LoadTree(s, blob.Storage) if err != nil { return nil, err } diff --git a/cmd/restic/cmd_fsck.go b/cmd/restic/cmd_fsck.go index 4693fe065..d3b48271d 100644 --- a/cmd/restic/cmd_fsck.go +++ b/cmd/restic/cmd_fsck.go @@ -75,7 +75,7 @@ func fsckFile(opts CmdFsck, s restic.Server, m *restic.Map, IDs []backend.ID) (u func fsckTree(opts CmdFsck, s restic.Server, blob restic.Blob) error { debug.Log("restic.fsck", "checking tree %v\n", blob.ID) - tree, err := restic.LoadTree(s, blob) + tree, err := restic.LoadTree(s, blob.Storage) if err != nil { return err } diff --git a/cmd/restic/cmd_ls.go b/cmd/restic/cmd_ls.go index 0c34e93c7..b6a98caba 100644 --- a/cmd/restic/cmd_ls.go +++ b/cmd/restic/cmd_ls.go @@ -38,7 +38,7 @@ func print_node(prefix string, n *restic.Node) string { } func print_tree(prefix string, s restic.Server, blob restic.Blob) error { - tree, err := restic.LoadTree(s, blob) + tree, err := restic.LoadTree(s, blob.Storage) if err != nil { return err } diff --git a/restorer.go b/restorer.go index fd0a32333..5cb6e7f0b 100644 --- a/restorer.go +++ b/restorer.go @@ -37,7 +37,7 @@ func NewRestorer(s Server, snid backend.ID) (*Restorer, error) { } func (res *Restorer) to(dst string, dir string, treeBlob Blob) error { - tree, err := LoadTree(res.s, treeBlob) + tree, err := LoadTree(res.s, treeBlob.Storage) if err != nil { return res.Error(dir, nil, arrar.Annotate(err, "LoadTree")) } diff --git a/tree.go b/tree.go index d98b82bb9..ce25414a9 100644 --- a/tree.go +++ b/tree.go @@ -32,9 +32,9 @@ func (t Tree) String() string { return fmt.Sprintf("Tree<%d nodes, %d blobs>", len(t.Nodes), len(t.Map.list)) } -func LoadTree(s Server, blob Blob) (*Tree, error) { +func LoadTree(s Server, id backend.ID) (*Tree, error) { tree := &Tree{} - err := s.LoadJSON(backend.Tree, blob, tree) + err := s.LoadJSONID(backend.Tree, id, tree) if err != nil { return nil, err } @@ -45,7 +45,7 @@ func LoadTree(s Server, blob Blob) (*Tree, error) { // LoadTreeRecursive loads the tree and all subtrees via s. func LoadTreeRecursive(path string, s Server, blob Blob) (*Tree, error) { // TODO: load subtrees in parallel - tree, err := LoadTree(s, blob) + tree, err := LoadTree(s, blob.Storage) if err != nil { return nil, err }