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

Function copyFile

cli/plugins/move.go:222–245  ·  view source on GitHub ↗
(source, dst string, mode os.FileMode)

Source from the content-addressed store, hash-verified

220}
221
222func copyFile(source, dst string, mode os.FileMode) (err error) {
223 var op errors.Op = "plugins.copyFile"
224 sf, err := os.Open(source)
225 if err != nil {
226 return errors.E(op, err)
227 }
228 defer sf.Close()
229
230 df, err := os.Create(dst)
231 if err != nil {
232 return errors.E(op, err)
233 }
234 defer df.Close()
235
236 _, err = io.Copy(df, sf)
237 if err != nil {
238 return errors.E(op, err)
239 }
240 err = os.Chmod(dst, mode)
241 if err != nil {
242 return errors.E(op, err)
243 }
244 return nil
245}
246
247// isCrossDeviceRenameErr determines if a os.Rename error is due to cross-fs/drive/volume copying.
248func isCrossDeviceRenameErr(err error) bool {

Callers 2

createOrUpdateLinkFunction · 0.85
copyTreeFunction · 0.85

Calls 3

OpenMethod · 0.65
CloseMethod · 0.65
CreateMethod · 0.45

Tested by

no test coverage detected