diff --git a/internal/filelist/filelist.go b/internal/filelist/filelist.go index 345ad0b..ce2cb5d 100644 --- a/internal/filelist/filelist.go +++ b/internal/filelist/filelist.go @@ -51,7 +51,7 @@ func (f *FileList) Import(src *FileList) { } } -func (f *FileList) AddGlobbed(src string, dest string) (error) { +func (f *FileList) AddGlobbed(src string, dest string) error { fFiles, err := misc.GetFiles([]string{src}, true) if err != nil { return fmt.Errorf("unable to add %q: %w", src, err) diff --git a/internal/filelist/hookscripts/hookscripts.go b/internal/filelist/hookscripts/hookscripts.go index daf9945..114c4c2 100644 --- a/internal/filelist/hookscripts/hookscripts.go +++ b/internal/filelist/hookscripts/hookscripts.go @@ -35,8 +35,13 @@ func (h *HookScripts) List() (*filelist.FileList, error) { } for _, file := range fileInfo { path := filepath.Join(h.scriptsDir, file.Name()) - log.Printf("-- Including script: %s\n", path) - files.Add(path, filepath.Join(h.destPath, file.Name())) + if file.IsDir() { + log.Printf("-- Including dir %s\n", path) + files.AddGlobbed(filepath.Join(path, "*"), filepath.Join(h.destPath, file.Name())) + } else { + log.Printf("-- Including script: %s\n", path) + files.Add(path, filepath.Join(h.destPath, file.Name())) + } } return files, nil }