diff --git a/internal/git/git.go b/internal/git/git.go --- a/internal/git/git.go +++ b/internal/git/git.go @@ -73,7 +73,19 @@ func copyDir(src, dest string) error { srcPath := filepath.Join(src, entry.Name()) destPath := filepath.Join(dest, entry.Name()) - if entry.IsDir() { + // Handle symlinks (recreate them, do not follow) + if entry.Type()&os.ModeSymlink != 0 { + linkTarget, err := os.Readlink(srcPath) + if err != nil { + return err + } + if err := os.Symlink(linkTarget, destPath); err != nil { + return err + } + continue + } + + if entry.IsDir() { if err := copyDir(srcPath, destPath); err != nil { return err }