MCPcopy
hub / github.com/hasura/graphql-engine / FSCopyFile

Function FSCopyFile

cli/util/filesystem.go:25–53  ·  view source on GitHub ↗
(src, dst string)

Source from the content-addressed store, hash-verified

23}
24
25func FSCopyFile(src, dst string) error {
26 var op errors.Op = "util.FSCopyFile"
27 var err error
28 var srcfd *os.File
29 var dstfd *os.File
30 var srcinfo os.FileInfo
31
32 if srcfd, err = os.Open(src); err != nil {
33 return errors.E(op, err)
34 }
35 defer srcfd.Close()
36
37 if dstfd, err = os.Create(dst); err != nil {
38 return errors.E(op, err)
39 }
40 defer dstfd.Close()
41
42 if _, err = io.Copy(dstfd, srcfd); err != nil {
43 return errors.E(op, err)
44 }
45 if srcinfo, err = os.Stat(src); err != nil {
46 return errors.E(op, err)
47 }
48 err = os.Chmod(dst, srcinfo.Mode())
49 if err != nil {
50 return errors.E(op, err)
51 }
52 return nil
53}
54
55func FSCopyDir(src string, dst string) error {
56 var op errors.Op = "util.FSCopyDir"

Callers 1

FSCopyDirFunction · 0.85

Calls 3

CloseMethod · 0.95
OpenMethod · 0.65
CreateMethod · 0.45

Tested by

no test coverage detected