MCPcopy Index your code
hub / github.com/jetify-com/devbox / copyToProfile

Method copyToProfile

internal/pullbox/files.go:20–58  ·  view source on GitHub ↗
(src string)

Source from the content-addressed store, hash-verified

18)
19
20func (p *pullbox) copyToProfile(src string) error {
21 srcFileInfo, err := os.Stat(src)
22 if err != nil {
23 return errors.WithStack(err)
24 }
25
26 var srcFiles []fs.FileInfo
27 if srcFileInfo.IsDir() {
28 entries, err := os.ReadDir(src)
29 if err != nil {
30 return errors.WithStack(err)
31 }
32 for _, entry := range entries {
33 info, err := entry.Info()
34 if err != nil {
35 return errors.WithStack(err)
36 }
37 srcFiles = append(srcFiles, info)
38 }
39 } else {
40 srcFiles = []fs.FileInfo{srcFileInfo}
41 }
42
43 if err := fileutil.ClearDir(p.ProjectDir()); err != nil {
44 return err
45 }
46
47 for _, srcFile := range srcFiles {
48 srcPath := src
49 if srcFileInfo.IsDir() {
50 srcPath = filepath.Join(src, srcFile.Name())
51 }
52 cmd := cmdutil.CommandTTY("cp", "-rf", srcPath, p.ProjectDir())
53 if err := cmd.Run(); err != nil {
54 return err
55 }
56 }
57 return nil
58}
59
60func profileIsNotEmpty(path string) (bool, error) {
61 entries, err := os.ReadDir(path)

Callers 2

pullTextDevboxConfigMethod · 0.95
PullMethod · 0.95

Calls 5

ClearDirFunction · 0.92
CommandTTYFunction · 0.92
ProjectDirMethod · 0.65
RunMethod · 0.65
InfoMethod · 0.45

Tested by

no test coverage detected