Open intvsteve opened 5 years ago
Based on readings of the gzip man page, multiple members are simply the result of concatenating gzip files together. Since the metadata is optional, the utility of trying to support anything very sophisticated is not worthwhile w.r.t. multiple entries. The best practice when dealing with multiple files really is to gzip a tar, so that's what this little corner of the codebase will attempt to do. I.e. assume one member in the .gz and move along.
Oh, who am I kidding. I know I'm going to end up a skimmer that fetches the metadata that's available and just inflates to Stream.Null
to see if there are more entries.... Just need to try out a couple concatenated .gz files.
As with ZIP, there are two readily available implementations:
Unfortunately, it appears neither of them actually support exposure of the metadata in the header - original file names, modification time, et. al. And they don't seem to directly expose the fact that multiple entries can be stored in a single .gz file. Perhaps at best one could iteratively inflate until EOF is encountered. Unfortunately support for multiple members seems to be … less-than-ideal.
All that said, it seems multi-member .gz files are rare, so not going to pour effort into it.