From bb7cb16b5e4de009f11126b3d2b4ef0cf7419c79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Or=C3=B3n=20Mart=C3=ADnez?= Date: Fri, 10 Aug 2018 18:07:56 +0200 Subject: New upstream version 1.0.0+git20180808.5b74d5d --- filesystem.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'filesystem.go') diff --git a/filesystem.go b/filesystem.go index a6e5239..b5c41fa 100644 --- a/filesystem.go +++ b/filesystem.go @@ -48,7 +48,13 @@ func CopyFile(src, dst string, mode os.FileMode) error { os.Remove(tmp.Name()) return err } - return os.Rename(tmp.Name(), dst) + + if err = os.Rename(tmp.Name(), dst); err != nil { + os.Remove(tmp.Name()) + return err + } + + return nil } func CopyTree(sourcetree, desttree string) error { @@ -63,7 +69,10 @@ func CopyTree(sourcetree, desttree string) error { target := path.Join(desttree, suffix) switch info.Mode() & os.ModeType { case 0: - CopyFile(p, target, info.Mode()) + err := CopyFile(p, target, info.Mode()) + if err != nil { + log.Panicf("Failed to copy file %s: %v", p, err) + } case os.ModeDir: os.Mkdir(target, info.Mode()) case os.ModeSymlink: -- cgit v1.2.3