(fs billy.Filesystem, src, dst string, mode fs.FileMode)
| 1615 | } |
| 1616 | |
| 1617 | func copyFile(fs billy.Filesystem, src, dst string, mode fs.FileMode) error { |
| 1618 | srcF, err := fs.Open(src) |
| 1619 | if err != nil { |
| 1620 | return fmt.Errorf("open src file: %w", err) |
| 1621 | } |
| 1622 | defer srcF.Close() |
| 1623 | |
| 1624 | err = fs.MkdirAll(filepath.Dir(dst), mode) |
| 1625 | if err != nil { |
| 1626 | return fmt.Errorf("create destination dir failed: %w", err) |
| 1627 | } |
| 1628 | |
| 1629 | dstF, err := fs.OpenFile(dst, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, mode) |
| 1630 | if err != nil { |
| 1631 | return fmt.Errorf("open dest file for writing: %w", err) |
| 1632 | } |
| 1633 | defer dstF.Close() |
| 1634 | |
| 1635 | if _, err := io.Copy(dstF, srcF); err != nil { |
| 1636 | return fmt.Errorf("copy failed: %w", err) |
| 1637 | } |
| 1638 | return nil |
| 1639 | } |
| 1640 | |
| 1641 | func writeFile(fs billy.Filesystem, name string, data []byte, perm fs.FileMode) error { |
| 1642 | f, err := fs.OpenFile(name, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, perm) |
no test coverage detected