archive: Use compression level when generating archive (MR 25)
This commit is contained in:
@@ -284,9 +284,26 @@ func (archive *Archive) writeCompressed(path string, mode os.FileMode) error {
|
|||||||
|
|
||||||
switch archive.compress_format {
|
switch archive.compress_format {
|
||||||
case FormatGzip:
|
case FormatGzip:
|
||||||
compressor = gzip.NewWriter(fd)
|
level := gzip.DefaultCompression
|
||||||
|
switch archive.compress_level {
|
||||||
|
case LevelBest:
|
||||||
|
level = gzip.BestCompression
|
||||||
|
case LevelFast:
|
||||||
|
level = gzip.BestSpeed
|
||||||
|
}
|
||||||
|
compressor, err = gzip.NewWriterLevel(fd, level)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
case FormatZstd:
|
case FormatZstd:
|
||||||
compressor, err = zstd.NewWriter(fd)
|
level := zstd.SpeedDefault
|
||||||
|
switch archive.compress_level {
|
||||||
|
case LevelBest:
|
||||||
|
level = zstd.SpeedBestCompression
|
||||||
|
case LevelFast:
|
||||||
|
level = zstd.SpeedFastest
|
||||||
|
}
|
||||||
|
compressor, err = zstd.NewWriter(fd, zstd.WithEncoderLevel(level))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user