use mkdir -p
This commit is contained in:
parent
f440f17dee
commit
930e2432bc
10
main.go
10
main.go
|
@ -1126,7 +1126,7 @@ func unArchive(src, dst string) error {
|
||||||
dstPath := filepath.Join(dst, header.Name)
|
dstPath := filepath.Join(dst, header.Name)
|
||||||
switch header.Typeflag {
|
switch header.Typeflag {
|
||||||
case tar.TypeDir:
|
case tar.TypeDir:
|
||||||
if err := os.Mkdir(dstPath, 0755); err != nil {
|
if err := os.MkdirAll(dstPath, 0755); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
case tar.TypeReg:
|
case tar.TypeReg:
|
||||||
|
@ -1155,6 +1155,8 @@ func archive(src, dst string) error {
|
||||||
|
|
||||||
zr := gzip.NewWriter(out)
|
zr := gzip.NewWriter(out)
|
||||||
tw := tar.NewWriter(zr)
|
tw := tar.NewWriter(zr)
|
||||||
|
defer tw.Close()
|
||||||
|
defer zr.Close()
|
||||||
err = filepath.Walk(src, func(file string, fi os.FileInfo, err error) error {
|
err = filepath.Walk(src, func(file string, fi os.FileInfo, err error) error {
|
||||||
header, err := tar.FileInfoHeader(fi, file)
|
header, err := tar.FileInfoHeader(fi, file)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -1178,12 +1180,6 @@ func archive(src, dst string) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := tw.Close(); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := zr.Close(); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue