FileSystem

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
22 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: FileSystem

Frank Shearar-3
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 <[hidden email]> 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 <[hidden email]> wrote:
>>
>>
>>
>> On Mon, May 27, 2013 at 2:45 PM, Chris Muller <[hidden email]> 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
>>
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: FileSystem

Hannes Hirzel
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> wrote:
>>>
>>>
>>>
>>> On Mon, May 27, 2013 at 2:45 PM, Chris Muller <[hidden email]>
>>> 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
>>>
>>>
>>>
>>
>
>

12