Snapshot archives are now cleaned up when `--snapshot-compression none` is used
This commit is contained in:
parent
e4216c3ff8
commit
11e92f0c9f
|
@ -653,16 +653,17 @@ pub fn get_snapshot_archive_path<P: AsRef<Path>>(
|
||||||
|
|
||||||
fn compression_type_from_str(compress: &str) -> Option<CompressionType> {
|
fn compression_type_from_str(compress: &str) -> Option<CompressionType> {
|
||||||
match compress {
|
match compress {
|
||||||
"bz2" => Some(CompressionType::Bzip2),
|
"tar.bz2" => Some(CompressionType::Bzip2),
|
||||||
"gz" => Some(CompressionType::Gzip),
|
"tar.gz" => Some(CompressionType::Gzip),
|
||||||
"zst" => Some(CompressionType::Zstd),
|
"tar.zst" => Some(CompressionType::Zstd),
|
||||||
|
"tar" => Some(CompressionType::NoCompression),
|
||||||
_ => None,
|
_ => None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn snapshot_hash_of(archive_filename: &str) -> Option<(Slot, Hash, CompressionType)> {
|
fn snapshot_hash_of(archive_filename: &str) -> Option<(Slot, Hash, CompressionType)> {
|
||||||
let snapshot_filename_regex =
|
let snapshot_filename_regex =
|
||||||
Regex::new(r"snapshot-(\d+)-([[:alnum:]]+)\.tar\.(bz2|zst|gz)$").unwrap();
|
Regex::new(r"snapshot-(\d+)-([[:alnum:]]+)\.(tar|tar\.bz2|tar\.zst|tar\.gz)$").unwrap();
|
||||||
|
|
||||||
if let Some(captures) = snapshot_filename_regex.captures(archive_filename) {
|
if let Some(captures) = snapshot_filename_regex.captures(archive_filename) {
|
||||||
let slot_str = captures.get(1).unwrap().as_str();
|
let slot_str = captures.get(1).unwrap().as_str();
|
||||||
|
@ -1024,6 +1025,10 @@ mod tests {
|
||||||
snapshot_hash_of(&format!("snapshot-43-{}.tar.zst", Hash::default())),
|
snapshot_hash_of(&format!("snapshot-43-{}.tar.zst", Hash::default())),
|
||||||
Some((43, Hash::default(), CompressionType::Zstd))
|
Some((43, Hash::default(), CompressionType::Zstd))
|
||||||
);
|
);
|
||||||
|
assert_eq!(
|
||||||
|
snapshot_hash_of(&format!("snapshot-42-{}.tar", Hash::default())),
|
||||||
|
Some((42, Hash::default(), CompressionType::NoCompression))
|
||||||
|
);
|
||||||
|
|
||||||
assert!(snapshot_hash_of("invalid").is_none());
|
assert!(snapshot_hash_of("invalid").is_none());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue