MCPcopy
hub / github.com/kopia/kopia / createFile

Function createFile

tools/gettool/autodownload/autodownload.go:27–44  ·  view source on GitHub ↗
(outDir *os.Root, target string, mode os.FileMode, modTime time.Time, src io.Reader)

Source from the content-addressed store, hash-verified

25const dirMode = 0o750
26
27func createFile(outDir *os.Root, target string, mode os.FileMode, modTime time.Time, src io.Reader) error {
28 f, err := outDir.OpenFile(target, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, mode)
29 if err != nil {
30 return errors.Wrap(err, "error creating file")
31 }
32
33 defer outDir.Chtimes(target, modTime, modTime) //nolint:errcheck
34
35 defer func() {
36 err = stderrors.Join(err, f.Close())
37 }()
38
39 if _, err := io.Copy(f, src); err != nil {
40 return errors.Wrap(err, "error copying contents")
41 }
42
43 return nil
44}
45
46func createSymlink(outDir *os.Root, linkPath, linkTarget string) error {
47 outDir.Remove(linkPath) //nolint:errcheck

Callers 2

untarFunction · 0.85
unzipFunction · 0.85

Calls 3

ChtimesMethod · 0.65
CloseMethod · 0.65
OpenFileMethod · 0.45

Tested by

no test coverage detected