2
2
mirror of https://github.com/octoleo/restic.git synced 2024-05-28 22:50:48 +00:00

Make check for non-existing paths OS independent.

This commit is contained in:
klauspost 2015-08-17 11:01:24 +02:00
parent 35bd8f80c0
commit 73de59a615

View File

@ -4,7 +4,6 @@ import (
"fmt"
"os"
"path/filepath"
"syscall"
"github.com/restic/restic/backend"
"github.com/restic/restic/debug"
@ -96,9 +95,7 @@ func (res *Restorer) restoreNodeTo(node *Node, dir string, dst string) error {
}
// Did it fail because of ENOENT?
if pe, ok := errors.Cause(err).(*os.PathError); ok {
errn, ok := pe.Err.(syscall.Errno)
if ok && errn == syscall.ENOENT {
if err != nil && os.IsNotExist(errors.Cause(err)) {
debug.Log("Restorer.restoreNodeTo", "create intermediate paths")
// Create parent directories and retry
@ -107,7 +104,6 @@ func (res *Restorer) restoreNodeTo(node *Node, dir string, dst string) error {
err = node.CreateAt(dstPath, res.repo)
}
}
}
if err != nil {
debug.Log("Restorer.restoreNodeTo", "error %v", err)