github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/utils/helper/git.go (about) 1 package helper 2 3 import ( 4 "io/ioutil" 5 "os" 6 "path/filepath" 7 8 "github.com/caos/orbos/pkg/git" 9 ) 10 11 func CopyFolderToLocal(git *git.Client, tempDirectory, folderRelativePath string) error { 12 folderPath := filepath.Join(tempDirectory, folderRelativePath) 13 14 if err := RecreatePath(folderPath); err != nil { 15 return err 16 } 17 18 files, subfolders, err := git.ReadFolder(folderRelativePath) 19 if err != nil { 20 return err 21 } 22 23 for filename, file := range files { 24 filePath := filepath.Join(folderPath, filename) 25 err := ioutil.WriteFile(filePath, file, os.ModePerm) 26 if err != nil { 27 return err 28 } 29 } 30 31 for _, folder := range subfolders { 32 if err := CopyFolderToLocal(git, tempDirectory, filepath.Join(folderRelativePath, folder)); err != nil { 33 return err 34 } 35 } 36 37 return nil 38 }