mirror of
https://github.com/restic/restic.git
synced 2026-05-12 05:25:23 +00:00
Drop dependency github.com/juju/errors
This commit is contained in:
@@ -14,8 +14,6 @@ import (
|
||||
"restic/repository"
|
||||
|
||||
"restic/worker"
|
||||
|
||||
"github.com/juju/errors"
|
||||
)
|
||||
|
||||
type CmdDump struct {
|
||||
|
||||
@@ -2,6 +2,7 @@ package restic
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
@@ -18,8 +19,6 @@ import (
|
||||
"restic/repository"
|
||||
|
||||
"github.com/restic/chunker"
|
||||
|
||||
"github.com/juju/errors"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -230,7 +229,7 @@ func (arch *Archiver) SaveFile(p *Progress, node *Node) error {
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return errors.Annotate(err, "SaveFile() chunker.Next()")
|
||||
return err
|
||||
}
|
||||
|
||||
resCh := make(chan saveResult, 1)
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"bufio"
|
||||
"crypto/rand"
|
||||
"encoding/hex"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
@@ -15,7 +16,6 @@ import (
|
||||
"restic/backend"
|
||||
"restic/debug"
|
||||
|
||||
"github.com/juju/errors"
|
||||
"github.com/pkg/sftp"
|
||||
)
|
||||
|
||||
@@ -206,9 +206,8 @@ func (r *SFTP) tempFile() (string, *sftp.File, error) {
|
||||
buf := make([]byte, tempfileRandomSuffixLength)
|
||||
_, err := io.ReadFull(rand.Reader, buf)
|
||||
if err != nil {
|
||||
return "", nil, errors.Annotatef(err,
|
||||
"unable to read %d random bytes for tempfile name",
|
||||
tempfileRandomSuffixLength)
|
||||
return "", nil, fmt.Errorf("unable to read %d random bytes for tempfile name: %v",
|
||||
tempfileRandomSuffixLength, err)
|
||||
}
|
||||
|
||||
// construct tempfile name
|
||||
@@ -217,7 +216,7 @@ func (r *SFTP) tempFile() (string, *sftp.File, error) {
|
||||
// create file in temp dir
|
||||
f, err := r.c.Create(name)
|
||||
if err != nil {
|
||||
return "", nil, errors.Annotatef(err, "creating tempfile %q failed", name)
|
||||
return "", nil, fmt.Errorf("creating tempfile %q failed: %v", name, err)
|
||||
}
|
||||
|
||||
return name, f, nil
|
||||
|
||||
+16
-18
@@ -17,8 +17,6 @@ import (
|
||||
"restic/fs"
|
||||
"restic/pack"
|
||||
"restic/repository"
|
||||
|
||||
"github.com/juju/errors"
|
||||
)
|
||||
|
||||
// Node is a file, directory or other item in a backup.
|
||||
@@ -114,27 +112,27 @@ func (node *Node) CreateAt(path string, repo *repository.Repository) error {
|
||||
switch node.Type {
|
||||
case "dir":
|
||||
if err := node.createDirAt(path); err != nil {
|
||||
return errors.Annotate(err, "createDirAt")
|
||||
return err
|
||||
}
|
||||
case "file":
|
||||
if err := node.createFileAt(path, repo); err != nil {
|
||||
return errors.Annotate(err, "createFileAt")
|
||||
return err
|
||||
}
|
||||
case "symlink":
|
||||
if err := node.createSymlinkAt(path); err != nil {
|
||||
return errors.Annotate(err, "createSymlinkAt")
|
||||
return err
|
||||
}
|
||||
case "dev":
|
||||
if err := node.createDevAt(path); err != nil {
|
||||
return errors.Annotate(err, "createDevAt")
|
||||
return err
|
||||
}
|
||||
case "chardev":
|
||||
if err := node.createCharDevAt(path); err != nil {
|
||||
return errors.Annotate(err, "createCharDevAt")
|
||||
return err
|
||||
}
|
||||
case "fifo":
|
||||
if err := node.createFifoAt(path); err != nil {
|
||||
return errors.Annotate(err, "createFifoAt")
|
||||
return err
|
||||
}
|
||||
case "socket":
|
||||
return nil
|
||||
@@ -155,13 +153,13 @@ func (node Node) restoreMetadata(path string) error {
|
||||
|
||||
err = lchown(path, int(node.UID), int(node.GID))
|
||||
if err != nil {
|
||||
return errors.Annotate(err, "Lchown")
|
||||
return err
|
||||
}
|
||||
|
||||
if node.Type != "symlink" {
|
||||
err = fs.Chmod(path, node.Mode)
|
||||
if err != nil {
|
||||
return errors.Annotate(err, "Chmod")
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
@@ -191,7 +189,7 @@ func (node Node) RestoreTimestamps(path string) error {
|
||||
}
|
||||
|
||||
if err := syscall.UtimesNano(path, utimes[:]); err != nil {
|
||||
return errors.Annotate(err, "UtimesNano")
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -200,7 +198,7 @@ func (node Node) RestoreTimestamps(path string) error {
|
||||
func (node Node) createDirAt(path string) error {
|
||||
err := fs.Mkdir(path, node.Mode)
|
||||
if err != nil {
|
||||
return errors.Annotate(err, "Mkdir")
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -211,7 +209,7 @@ func (node Node) createFileAt(path string, repo *repository.Repository) error {
|
||||
defer f.Close()
|
||||
|
||||
if err != nil {
|
||||
return errors.Annotate(err, "OpenFile")
|
||||
return err
|
||||
}
|
||||
|
||||
var buf []byte
|
||||
@@ -228,12 +226,12 @@ func (node Node) createFileAt(path string, repo *repository.Repository) error {
|
||||
|
||||
buf, err := repo.LoadBlob(id, pack.Data, buf)
|
||||
if err != nil {
|
||||
return errors.Annotate(err, "Load")
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = f.Write(buf)
|
||||
if err != nil {
|
||||
return errors.Annotate(err, "Write")
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
@@ -247,7 +245,7 @@ func (node Node) createSymlinkAt(path string) error {
|
||||
}
|
||||
err := fs.Symlink(node.LinkTarget, path)
|
||||
if err != nil {
|
||||
return errors.Annotate(err, "Symlink")
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -422,7 +420,7 @@ func (node *Node) fillUser(stat statT) error {
|
||||
|
||||
username, err := lookupUsername(strconv.Itoa(int(stat.uid())))
|
||||
if err != nil {
|
||||
return errors.Annotate(err, "fillUser")
|
||||
return err
|
||||
}
|
||||
|
||||
node.User = username
|
||||
@@ -470,7 +468,7 @@ func (node *Node) fillExtra(path string, fi os.FileInfo) error {
|
||||
var err error
|
||||
|
||||
if err = node.fillUser(stat); err != nil {
|
||||
return errors.Annotate(err, "fillExtra")
|
||||
return err
|
||||
}
|
||||
|
||||
switch node.Type {
|
||||
|
||||
@@ -6,8 +6,6 @@ import (
|
||||
"unsafe"
|
||||
|
||||
"restic/fs"
|
||||
|
||||
"github.com/juju/errors"
|
||||
)
|
||||
|
||||
func (node Node) restoreSymlinkTimestamps(path string, utimes [2]syscall.Timespec) error {
|
||||
@@ -20,7 +18,7 @@ func (node Node) restoreSymlinkTimestamps(path string, utimes [2]syscall.Timespe
|
||||
err = utimesNanoAt(int(dir.Fd()), filepath.Base(path), utimes, AT_SYMLINK_NOFOLLOW)
|
||||
|
||||
if err != nil {
|
||||
return errors.Annotate(err, "UtimesNanoAt")
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
@@ -9,8 +9,6 @@ import (
|
||||
"restic/debug"
|
||||
"restic/fs"
|
||||
"restic/repository"
|
||||
|
||||
"github.com/juju/errors"
|
||||
)
|
||||
|
||||
// Restorer is used to restore a snapshot to a directory.
|
||||
@@ -35,7 +33,7 @@ func NewRestorer(repo *repository.Repository, id backend.ID) (*Restorer, error)
|
||||
|
||||
r.sn, err = LoadSnapshot(repo, id)
|
||||
if err != nil {
|
||||
return nil, errors.Annotate(err, "load snapshot for restorer")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return r, nil
|
||||
@@ -44,7 +42,7 @@ func NewRestorer(repo *repository.Repository, id backend.ID) (*Restorer, error)
|
||||
func (res *Restorer) restoreTo(dst string, dir string, treeID backend.ID) error {
|
||||
tree, err := LoadTree(res.repo, treeID)
|
||||
if err != nil {
|
||||
return res.Error(dir, nil, errors.Annotate(err, "LoadTree"))
|
||||
return res.Error(dir, nil, err)
|
||||
}
|
||||
|
||||
for _, node := range tree.Nodes {
|
||||
@@ -67,7 +65,7 @@ func (res *Restorer) restoreTo(dst string, dir string, treeID backend.ID) error
|
||||
subp := filepath.Join(dir, node.Name)
|
||||
err = res.restoreTo(dst, subp, *node.Subtree)
|
||||
if err != nil {
|
||||
err = res.Error(subp, node, errors.Annotate(err, "restore subtree"))
|
||||
err = res.Error(subp, node, err)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -96,7 +94,7 @@ func (res *Restorer) restoreNodeTo(node *Node, dir string, dst string) error {
|
||||
}
|
||||
|
||||
// Did it fail because of ENOENT?
|
||||
if err != nil && os.IsNotExist(errors.Cause(err)) {
|
||||
if err != nil && os.IsNotExist(err) {
|
||||
debug.Log("Restorer.restoreNodeTo", "create intermediate paths")
|
||||
|
||||
// Create parent directories and retry
|
||||
@@ -108,7 +106,7 @@ func (res *Restorer) restoreNodeTo(node *Node, dir string, dst string) error {
|
||||
|
||||
if err != nil {
|
||||
debug.Log("Restorer.restoreNodeTo", "error %v", err)
|
||||
err = res.Error(dstPath, node, errors.Annotate(err, "create node"))
|
||||
err = res.Error(dstPath, node, err)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user