> On 13 Mar 2018, at 20:22, Guillermo Polito <[email protected]> wrote:
>
>
>
> On Tue, Mar 13, 2018 at 8:08 PM, Sven Van Caekenberghe <[email protected]> wrote:
> Hi,
>
> I was trying to merge in Zinc changes from the latest Pharo 7 back to the MC
> Zinc repos. It seems like MCMczWriter>>#flush breaks [1]. I can save to the
> package cache but not to an Http repo, nor copy to it.
>
> Guile, has this been tested, or do you no longer use the old MC ?
>
> I do not use old MC since some time already...
>
> I'll take a look at this tomorrow morning. But if this is broken it means it
> was not covered by tests :/
Guille (I got your name wrong before, sorry about that),
Thanks. Yes there are probably no tests, too bad.
I am guessing, the following is wrong, after your changes:
MCHttpRepository>>#entityStreamContents: aBlock
"Generate output in a buffer because we need the length"
| stream |
stream := RWBinaryOrTextStream on: String new.
aBlock value: stream.
stream reset.
^ (ZnStreamingEntity type: ZnMimeType applicationOctetStream)
stream: stream;
contentLength: stream size;
yourself
there probably should be no String there.
> Sven
>
> [1]
> ByteString(Object)>>error:
> ByteString(Object)>>errorImproperStore
> ByteString>>at:put:
> ZipWriteStream(WriteStream)>>nextPut:
> [ :ch | self nextPut: ch ] in
> ZipWriteStream(DeflateStream)>>next:putAll:startingAt: in Block: [ :ch | self
> nextPut: ch ]
> ByteArray(SequenceableCollection)>>do:
> ZipWriteStream(DeflateStream)>>next:putAll:startingAt:
> ZipWriteStream(DeflateStream)>>nextPutAll:
> ZipStringMember(ZipArchiveMember)>>compressDataTo:
> ZipStringMember(ZipArchiveMember)>>writeDataTo:
> ZipStringMember(ZipArchiveMember)>>writeTo:
> [ :member |
> member writeTo: stream.
> member endRead ] in ZipArchive>>writeTo: in Block: [ :member | ...
> OrderedCollection>>do:
> ZipArchive>>writeTo:
> MCMczWriter>>flush
> MCMczWriter class>>fileOut:on:
> MCVersion>>fileOutOn:
> [ :s | aVersion fileOutOn: s ] in
> MCHttpRepository(MCFileBasedRepository)>>basicStoreVersion: in Block: [ :s |
> aVersion fileOutOn: s ]
> MCHttpRepository>>entityStreamContents:
> MCHttpRepository>>writeStreamForFileNamed:replace:do:
> MCHttpRepository(MCFileBasedRepository)>>writeStreamForFileNamed:do:
> MCHttpRepository(MCFileBasedRepository)>>basicStoreVersion:
> MCHttpRepository(MCRepository)>>storeVersion:
> MCHttpRepository(MCFileBasedRepository)>>storeVersion:
> [ super storeVersion: aVersion ] in MCHttpRepository>>storeVersion: in Block:
> [ super storeVersion: aVersion ]
> BlockClosure>>on:do:
> MCHttpRepository>>retryOnCredentialRequest:
> MCHttpRepository>>storeVersion:
> MCWorkingCopyBrowser>>storeVersion:in:
> [ self
> storeVersion: newVersion in: aRepository;
> storeDependencies: newVersion in: aRepository ] in [ [ self
> storeVersion: newVersion in: aRepository;
> storeDependencies: newVersion in: aRepository ]
> ensure: [ (MCVersionInspector new version: newVersion) show ] ] in
> MCWorkingCopyBrowser>>basicSaveVersionIn: in Block: [ self...
>
>
>
>
>
> --
>
> Guille Polito
> Research Engineer
>
> Centre de Recherche en Informatique, Signal et Automatique de Lille
> CRIStAL - UMR 9189
> French National Center for Scientific Research - http://www.cnrs.fr
>
> Web: http://guillep.github.io
> Phone: +33 06 52 70 66 13