in pkg/utils/cp/cp.go [43:64]
func CopyFile(src, dst string) (err error) {
dstTmp := fmt.Sprintf("%s.tmp", dst)
if err := cp(src, dstTmp); err != nil {
return fmt.Errorf("failed to copy file: %s", err)
}
err = os.Rename(dstTmp, dst)
if err != nil {
return fmt.Errorf("failed to rename file: %s", err)
}
si, err := os.Stat(src)
if err != nil {
return fmt.Errorf("failed to stat file: %s", err)
}
err = os.Chmod(dst, si.Mode())
if err != nil {
return fmt.Errorf("failed to chmod file: %s", err)
}
return nil
}