Guille,
> On 13 Mar 2018, at 20:30, Sven Van Caekenberghe <sven@stfx.eu> wrote:
>
>
>
>> On 13 Mar 2018, at 20:22, Guillermo Polito <guillermopolito@gmail.com> wrote:
>>
>>
>>
>> On Tue, Mar 13, 2018 at 8:08 PM, Sven Van Caekenberghe <sven@stfx.eu> 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 I changed
>�� �� �� ��"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.
�� stream := RWBinaryOrTextStream on: String new.
to
�� stream := RWBinaryOrTextStream on: ByteArray new.
and now I can commit MC again. Not sure if that is the best fix, the idea is probably to phase out RWBinaryOrTextStream. It would probably also work to just write to a ByteArray new writeStream then take the bytes/contents and wrap a read stream around them ...
>> 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
|
������ | 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 Phone: +33 06 52 70 66 13 |