You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
rust-gix-archive/decrease-zip-version.diff

45 lines
1.8 KiB

--- gix-archive-0.15.0/Cargo.toml 1970-01-01T00:00:01+00:00
+++ gix-archive-0.15.0/Cargo.toml 2024-09-07T18:05:21.490769+00:00
@@ -76,7 +76,7 @@
version = "1.0.26"
[dependencies.zip]
-version = "2.1.0"
+version = "0.6.6"
features = ["deflate"]
optional = true
default-features = false
--- gix-archive-0.15.0/src/write.rs
+++ gix-archive-0.15.0/src/write.rs
@@ -126,7 +127,7 @@ where
NextFn: FnMut(&mut Stream) -> Result<Option<Entry<'_>>, gix_worktree_stream::entry::Error>,
{
let compression_level = match opts.format {
- Format::Zip { compression_level } => compression_level.map(|lvl| lvl as i64),
+ Format::Zip { compression_level } => compression_level.map(|lvl| lvl as i32),
_other => return write_stream(stream, next_entry, out, opts),
};
@@ -149,7 +150,7 @@ where
zdt.minute().try_into().expect("non-negative"),
zdt.second().try_into().expect("non-negative"),
)
- .map_err(|err| Error::InvalidModificationTime(Box::new(err)))?;
+ .map_err(|_| Error::InvalidModificationTime(Box::new(zip::result::DateTimeRangeError)))?;
while let Some(entry) = next_entry(stream)? {
append_zip_entry(
&mut ar,
@@ -173,10 +174,10 @@ fn append_zip_entry<W: std::io::Write + std::io::Seek>(
mut entry: gix_worktree_stream::Entry<'_>,
buf: &mut Vec<u8>,
mtime: zip::DateTime,
- compression_level: Option<i64>,
+ compression_level: Option<i32>,
tree_prefix: Option<&bstr::BString>,
) -> Result<(), Error> {
- let file_opts = zip::write::FileOptions::<'_, ()>::default()
+ let file_opts = zip::write::FileOptions::default()
.compression_method(zip::CompressionMethod::Deflated)
.compression_level(compression_level)
.large_file(entry.bytes_remaining().map_or(true, |len| len > u32::MAX as usize))