On 1 Nov 2018, at 14:38, Norbert Hartl <norbert@hartl.name> wrote:
I asked this before because I donât get it. External packages like Zinc seem to be modified when integrated into pharo.
When a new version of Zinc is integrated, it is done as-is. The problem is that people keep on changing things afterwards.
Looking at the changes between to newest Zinc from Svenâs repository and the one in pharo there are a few differences. As an example there is
ZnCharacterReadWriteStream>>#tab writeStream tab
Where is this method added?
I don't know, this is the first time I see that particular one.
Are the changes pushed back to Sven?
I do this all by hand myself, afterwards. It is sometimes quite a bit of annoying work.
In my project I use Zinc-REST. So I need to add the repository for Zinc and load the REST group. When this is loaded it pulls in the other Zinc packages which removes the methods like the one above and my image gets stuck because Epicea relies on that method and I get a debugger. So at the moment I can only create a new image when I disable Epicea.
Yes, this is really annoying.
Why is it done that way? Best would be to use the version from Sven and make changes there. If that is not possible it would be good to use an extra package that does extension methods to Zinc. But this way is asking for trouble IMHO.
Norbert
Yes, I would also prefer things to go to Zn first. But then it takes longer for people to see their changes in the base image. Now to be fair, the new file/stream changes did require a shorter feedback loop in pharo itself. I was planning on getting all changes to Zn/Zdc from pharo 7 back upstream (and to GitHub), but I did not yet get around to it. Sven