[squeak-dev] FileSystem

H. Hirzel hannes.hirzel at gmail.com
Wed Jun 19 09:30:37 UTC 2013


Nice, thank you, Frank

https://github.com/squeak-smalltalk/squeak-ci/blob/master/package-load-scripts/FileSystem.st

(Installer wiresong project: 'mc')
  addPackage: 'FS-Core';
  addPackage: 'FS-Disk';
  addPackage: 'FS-Memory';
  addPackage: 'FS-Zip';
  addPackage: 'FS-FileStream';
  addPackage: 'FS-Tests-Core';
  addPackage: 'FS-Tests-Zip';
  addPackage: 'FS-Tests-Disk';
  addPackage: 'FS-Tests-FileStream';
  install.

WorldState addDeferredUIMessage: [ SmalltalkImage current snapshot:
true andQuit: true ].

On 6/18/13, Frank Shearar <frank.shearar at gmail.com> wrote:
> Hi Chris,
>
> Now that I have the CI build working, there's a nice way of telling
> you:
> https://github.com/squeak-smalltalk/squeak-ci/blob/master/package-load-scripts/FileSystem.st
>
> FileSystem does have a bit of entanglement with Xtreams (mentioned
> earlier in this thread, IIRC). You can find an Installer for
> installing Xtreams and FileSystem here though:
> https://github.com/squeak-smalltalk/squeak-ci/blob/master/package-load-scripts/FileSystem-with-Xtreams.st
>
> frank
>
> On 28 May 2013 02:25, Chris Muller <asqueaker at gmail.com> wrote:
>> Could you point me to what's the best way to install latest FS into
>> trunk?  Thanks!
>>
>> On Mon, May 27, 2013 at 7:27 PM, Colin Putney <colin at wiresong.com> wrote:
>>>
>>>
>>>
>>> On Mon, May 27, 2013 at 2:45 PM, Chris Muller <ma.chris.m at gmail.com>
>>> wrote:
>>>
>>>>
>>>>  Colin, may we please not be at odds here?  I'm on your side.
>>>
>>>
>>> I'm sorry, I didn't mean for that post to be so confrontational. I
>>> misread
>>> your post as shifting the goal-posts so that FileSystem wouldn't be
>>> acceptable unless it performs like your tuned-for-Banyan additions to
>>> FileDirectory.
>>>
>>> There's certainly room to optimize the tree-walking code in Filesystem,
>>> so
>>> we may be able to meet your needs that way.
>>>
>>> On the other hand, there are layers of indirection in Filesystem that
>>> aren't
>>> present in FileDirectory. Filesystem works with many kinds of directory
>>> trees—on disk, in-memory, inside a zip file, inside a git repository etc.
>>> It
>>> also has whole-tree operations that need to be able to customize the
>>> tree
>>> walking algorithm. For example, copying a tree needs to visit
>>> directories
>>> before their contents, while deleting a tree needs to visit directories
>>> after their contents. So from the point of view of Filesystem,
>>> #directoryTreeDo: is *not* a very general operation, it's quite
>>> specific,
>>> and tuned for a particular use-case. It may not be possible to optimize
>>> Filesystem's tree-walking code to the same level of memory efficiency
>>> without sacrificing generality.
>>>
>>> But that's not a show-stopper! We could make a method like
>>> #directoryTreeDo:
>>> just for Banyan, or Banyan could keep on using FileDirectory. It's not
>>> like
>>> FileDirectory would be removed in 4.5, and even when it finally does get
>>> removed, it would still be available as a compatibility package.
>>>
>>> Again, my apologies for the over-reaction.
>>>
>>> Colin
>>>
>>>
>>>
>>
>
>


More information about the Squeak-dev mailing list