Merge pull request #230 from sigmaSd/zipid

Mark directories when compressing to zip regardless of their contents
This commit is contained in:
João Marcos Bezerra 2021-12-19 21:29:23 -03:00 committed by GitHub
commit 7a358ef821
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -14,10 +14,7 @@ use crate::{
error::FinalError,
info,
list::FileInArchive,
utils::{
self, cd_into_same_dir_as, concatenate_os_str_list, dir_is_empty, get_invalid_utf8_paths, strip_cur_dir,
to_utf, Bytes,
},
utils::{self, cd_into_same_dir_as, concatenate_os_str_list, get_invalid_utf8_paths, strip_cur_dir, to_utf, Bytes},
};
/// Unpacks the archive given by `archive` into the folder given by `output_folder`.
@ -136,10 +133,7 @@ where
info!(@display_handle, inaccessible, "Compressing '{}'.", to_utf(path));
if path.is_dir() {
if dir_is_empty(path) {
writer.add_directory(path.to_str().unwrap().to_owned(), options)?;
}
// If a dir has files, the files are responsible for creating them.
writer.add_directory(path.to_str().unwrap().to_owned(), options)?;
} else {
writer.start_file(path.to_str().unwrap().to_owned(), options)?;
let file_bytes = match fs::read(entry.path()) {