diff --git a/main.go b/main.go index cc21347..6373568 100644 --- a/main.go +++ b/main.go @@ -114,9 +114,15 @@ func copyAll(srcDir, dstDir string) error { } defer src.Close() + sinfo, err := src.Stat() + if err != nil { + return err + } + mode := sinfo.Mode() + dstPath := filepath.Join(dstDir, strings.TrimPrefix(path, srcDir)) os.MkdirAll(filepath.Dir(dstPath), 0755) - dst, err := os.Create(dstPath) + dst, err := os.OpenFile(dstPath, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, mode) if err != nil { return err }