From 2c15597e249bdce6c55a5957ebbacd4f53bd4e81 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Tue, 29 Dec 2015 00:26:29 +0100 Subject: [PATCH] walker: print errors --- walk.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/walk.go b/walk.go index 5cceb98b0..699a60071 100644 --- a/walk.go +++ b/walk.go @@ -1,6 +1,8 @@ package restic import ( + "fmt" + "os" "path/filepath" "sync" @@ -66,6 +68,8 @@ func (tw *TreeWalker) walk(path string, tree *Tree, done chan struct{}) { debug.Log("TreeWalker.walk", "start on %q", path) defer debug.Log("TreeWalker.walk", "done for %q", path) + debug.Log("TreeWalker.walk", "tree %#v", tree) + // load all subtrees in parallel results := make([]<-chan loadTreeResult, len(tree.Nodes)) for i, node := range tree.Nodes { @@ -90,7 +94,11 @@ func (tw *TreeWalker) walk(path string, tree *Tree, done chan struct{}) { } res := <-results[i] - tw.walk(p, res.tree, done) + if res.err == nil { + tw.walk(p, res.tree, done) + } else { + fmt.Fprintf(os.Stderr, "error loading tree: %v\n", res.err) + } job = WalkTreeJob{Path: p, Tree: res.tree, Error: res.err} } else {