|CC:||Chris Williams <chris [...] bingosnet.co.uk>, bug-Archive-Tar [...] rt.cpan.org|
|Subject:||Re: Archive::Tar derivative Archive::Tar::StreamingPile Author Credit|
|Date:||Mon, 29 Mar 2010 11:21:08 +0000|
|To:||Michael Greb <michael [...] thegrebs.com>|
|From:||"Jos I. Boumans" <kane [...] cpan.org>|
(cc:'d the bug tracker so we have a common record of this) On 28 Mar 2010, at 23:46, Michael Greb wrote: Show quoted text
> Greetings, > > I recently had need for creating some monstrously large tar files, > containing as many as over 100k files each, some of which were > multiple gigabytes large. I liked the implementation of the > Archive::Tar dist with the exception of the memory usage, as you > might imagine. I looked at Archive::Tar::Streamed as well but it > didn't suit my purposes as I needed the name the file appeared as in > the tar archive to differ from the source file's name on disk. > > I have created Archive::Tar::StreamingPile and intend to upload it > to the CPAN. It uses some code from Archive::Tar::Constants and > Archive::Tar::File. I think there were a few lines from > Archive::Tar itself as well. I stripped out the unnecessary bits > for my use-case. IO::Gzip/IO::Bzip support, extracting archives, > etc. I would have just depended on the Archive::Tar dist but I am > targeting Perl 5.8 and this would add quite a few non-core > dependencies. > > I would like to add the two of you as authors for > Archive::Tar::StreamingPile as the code is largely yours. I just > added some glue here and there and removed pieces not necessary. > Please let me know what you think of that? > > You may browse the code at <This would require some tweaking to the current code base to add a constructor that wouldn't 'just' proxy to new() but is backwards compatible and some option that would make add_file() write to disk rather than loading another object into memory. Chris, you think it's possible to retrofit, or is the above approach to be preferred? -- Jos Boumans "Never ask a man what computer he uses. If it's a Mac, he'll tell you. If it's not, why embarrass him?" - Tom Clancy
> >. I've encluded the rendered POD below as I'm using Pod::Weaver.