Skip to main content

walk_tar_stream

Function walk_tar_stream 

Source
pub fn walk_tar_stream(
    reader: &mut dyn Read,
    sink: &mut dyn RepackSink,
) -> Result<()>
Expand description

Stream a (decompressed) tar reader straight into sink — the non-random-access counterpart to walk_anyfs. Drives tar::stream::TarStreamReader, which resolves PAX / GNU long-name + long-link overrides and exposes each entry’s body as a Read. Bodies are streamed (never fully resident); parent directories are created on demand; hard links the destination can’t represent fall back to a destination-sourced copy via RepackSink::materialise_copy.

Used for compressed-tar sources so they never decompress to a tempfile. Does not call sink.finish() — the caller does that after any final bookkeeping (matching walk_anyfs).