diff options
author | Héctor Orón Martínez <zumbi@debian.org> | 2018-08-10 18:07:56 +0200 |
---|---|---|
committer | Héctor Orón Martínez <zumbi@debian.org> | 2018-08-10 19:05:55 +0200 |
commit | bb7cb16b5e4de009f11126b3d2b4ef0cf7419c79 (patch) | |
tree | e618a9be492fa61e6999cba5588d89b157bb9bb8 /filesystem.go | |
parent | 4e3708edd780442c9dfbb9fb70553adf5e16debd (diff) |
New upstream version 1.0.0+git20180808.5b74d5d
Diffstat (limited to 'filesystem.go')
-rw-r--r-- | filesystem.go | 13 |
1 files changed, 11 insertions, 2 deletions
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: |