GemTalk Systems published a tool called SETT which is designed to extract sources from Store into a git repository. I think it's filetree, not to El format, but getting it (and its history) out of Store is the primary motivation.
It requires direct access to the Store database, as far as I understand. Look at the GemTalk area on GitHub for the project and details. (I'm on vacation, using my phone and memory, so pardon the scarcity of detail.) On Sun, Mar 27, 2022, 13:17 stephane ducasse <stephane.duca...@inria.fr> wrote: > BTW about porting from VW, you see a friend of mine wanted to see how to > help porting Siren to Pharo. > Now this is not possible because he could not get a personal VW license. > > So even if people want to help pointing to a store database is equivalent > to /dev/null for most people. > For example I cannot (and also does not for legal reason) run VW on my > machine. > Not talking about the new M1 I will get. > > S > > On 27 Mar 2022, at 22:12, seasidebook <seasideb...@free.fr> wrote: > > Hi christian > > I took the squeakValues60 becau se I thought that this is what you wanted > that we do. > I should continue but I’m busy > > > ahhh I did not know that you already did it. > Do you need help to package your changes? > Because you can fork my repo and load your changes. > > I got lost with the explanation of OrderedDictionary below because I’m > dead :) - worked too mcuh today. > But what we can do is to package the one that is working for you under > http://github.com/pharo-container > and update the baseline to load it. > Alternatively we could see what is wrong in the pharo’s one. > > Now my brain decided to shut down :) so I need to sleep. > > S > > Hi Stef, > > Great! Thank you for your work. > Good example for the tonel format. > > Which sources were you using? > How did you generate this? > Do you use VW to create the output? > > > For the last ESUG (2.5 years ago – sigh), I already did the transformation > for Values for Pharo. Thanks to you, I revised them and published the > result on GitHub (https://github.com/PortingPDFtalk/PharoValues) and > added a Pharo porting page to the wiki ( > https://wiki.pdftalk.de/doku.php?id=pharoport). Please have a look. > > The fileouts are for Pharo versions 6.1, 7.0, 8.0 and 9.0 (7.0 to 9.0 have > identical sources). The sources load without errors or warnings and all 27 > tests pass. > > > Some of the problems in your code have to do with OrderedDictionary as > superclass of Valuemap. When I did my first round on the port, I had a > class OrderedDictionary in my Values implementation. Unfortunately, > OrderedDictionary does not work as I expected. > > (OrderedDictionary with: #a -> 1 with: #b -> 2) = > (OrderedDictionary with: #b -> 2 with: #a -> 1) > > answers true, although the order is different. Therefore, it cannot be > used as value. > > Instead of raising this issue on a Pharo list (sorry), I decided to use a > new name: Valuemap. > A Valuemap is an OrderedDictionary where the order is relevant for > comparisons. > Squeak had the same problem where it was considered a bug and fixed. > While I subclass Dictionary for Valuemap in Pharo, I can use > OrderedDictionary in Squeak. This removes a lot of methods from the fileout. > > > A remark about the renamings you propose in your commit comment. > Thank you for the suggestions, but I decline for two reasons: > > 1. Names for classes, methods and variables are very important to me. > Naming is part of the creative expression of the code author. I do think > much about the right names and therefore, I claim the liberty and right to > name things according to my feeling. > > > Yes now you may want to read an excellent book that just came out: > http://books.pharo.org Pharo with Styles. > If you want to have future contributors this is good to follow good > practices > Else I’m quite sure that you would not like a French Pharo :) > > > 1. Maybe my names are a bit influenced by German, where we tend to > have longer names. Therefore, my names are not so heavily camel-cased J. > In contrast, Pharo has quite a different style with a love for camel-casing > J (#timeStamp, #nanoSeconds etc.). > 2. From a practical view, it would be a lot of work to rename all > references to the items in this basic systems library. There is a lot of > code out there using it. Of course, if there is a good reason for a > renaming (like a spelling mistake or misleading name), it should be done > and I am appreciating any suggestions. > > > A pattern that we use is the following. > You introduce a new name and let the old one as an empty subclass. Like > that you can migrate and still be backward compatible. > > For the method level refactoring we have a gorgeous mechanism that > automatically rewrite client code…. > > http://www.jot.fm/issues/issue_2022_01/article1.pdf > > S > > >