Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0001641 [Squeak] System minor always 08-10-05 20:59 02-24-06 21:18
Reporter ned View Status public  
Assigned To
Priority normal Resolution fixed Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 3.9 Product Version
  Product Build
Summary 0001641: [ENH] Zip Serial Reading (was Re: [NIT] Managing repositories in MC)
Description On Sunday 21 September 2003 03:08 pm, Avi Bryant wrote:
> On Sun, 21 Sep 2003, Ned Konz wrote:
> > If you store the version info as the first member of the zip
> > (either compressed or not) you can just grab the first packet's
> > worth of bytes (1K or so). You will get the member header
> > preceding it, which you can examine to make sure you have all the
> > bytes.
>
> Thanks, Ned. I seem to be able to get the first member from a zip
> file by doing this:
>
> n := 'Foo.mcz'.
> f := FileStream readOnlyFileNamed: n.
> f binary.
> z := ZipArchiveMember newFromZipFile: f named: n.
> z readLocalDirectoryFileHeaderFrom: f.
> z contents.
>
> Unfortunately, the very first member of a .mcz file is the package
> name, not the ancestry info.

So why not store the version first?

> Is there anything about the zip format that would prevent an
> interface like the code below, without needing the central
> directory?
>
> z := ZipArchiveStream on: aStream.
> aMember = z nextMember.
> anotherMember = z nextMember.
> ....

No, that should work, assuming that the zip was stored correctly. All
the data is there in the headers, which precede the members
(usually).

Enclosed is a CS that will add serial reading support (header by
header) to the existing ZipArchive stuff.

It hasn't been tested, and I couldn't find any support for the HTTP
byte-ranges in the image.
Steps To Reproduce
Additional Information
Attached Files  ZipSerialReading-nk.1.cs.gz [^] (1,385 bytes) 08-10-05 21:05

- Relationships

- Notes
(0002233 - 675 - 841 - 876 - 876 - 876 - 876)
KenCausey
08-10-05 21:02

Avi Bryant <avi@beta4.com>:

"> > Unfortunately, the very first member of a .mcz file is the package
> > name, not the ancestry info.
>
> So why not store the version first?

Because there are already a bunch of .mcz files out there in the current
format.

> Enclosed is a CS that will add serial reading support (header by
> header) to the existing ZipArchive stuff.

Very cool, thanks.

> It hasn't been tested, and I couldn't find any support for the HTTP
> byte-ranges in the image.

No, I wouldn't have expected there to be. HTTP client support is
currently minimal, to say the least. That's something I've been meaning
to work on for a long time."
 
(0002234 - 399 - 481 - 481 - 481 - 481 - 481)
KenCausey
08-10-05 21:06

denker@iam.unibe.ch:

"Checking ZipSerialReading-nk.1.cs (#5420) for method conflicts with
changesets after 5420advanceToGammaOr37-dew ...
...checking ZipFileMember>>readLocalDirectoryFileHeaderFrom:
CONFLICT found for ZipFileMember
class>>readLocalDirectoryFileHeaderFrom: with newer changesets
5994-004-systemMod 5996-006-incChanges
...checking ZipFileMember>>readFrom:
1 conflict found."
 
(0002235 - 77 - 77 - 77 - 77 - 77 - 77)
KenCausey
08-10-05 21:07

I loaded this into 3.8-6665-basic without errors but did not test it further.
 
(0004058 - 78 - 81 - 81 - 81 - 81 - 81)
MarcusDenker
02-24-06 21:18

rejected. Conflicts indicated, author did not react --> not important. closed.
 

- Issue History
Date Modified Username Field Change
08-10-05 20:59 KenCausey New Issue
08-10-05 21:00 KenCausey Reporter KenCausey => ned
08-10-05 21:02 KenCausey Note Added: 0002233
08-10-05 21:03 KenCausey Additional Information Updated
08-10-05 21:05 KenCausey File Added: ZipSerialReading-nk.1.cs.gz
08-10-05 21:06 KenCausey Note Added: 0002234
08-10-05 21:07 KenCausey Note Added: 0002235
02-24-06 21:18 MarcusDenker Status new => closed
02-24-06 21:18 MarcusDenker Note Added: 0004058
02-24-06 21:18 MarcusDenker Resolution open => fixed
02-24-06 21:18 MarcusDenker Fixed in Version  => 3.9


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
54 total queries executed.
39 unique queries executed.
Powered by Mantis Bugtracker