FileDirectory <> FSFileSystem

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

FileDirectory <> FSFileSystem

Camillo Bruni-3
FileSystem compat
-----------------
During my train trip today I "ported" (AKA copied) the whole FileSystem package
from 2.0 to 1.4 and fixed some tests:
- the 2.0 FS works almost perfectly in 1.4
- some Tests related to DateAndTime fail!

Furthermore I created a dumb FileDirectory interface for 2.0
- FileDirectory is a subclass of FileReference
- FileSystem-Legacy protocols have been added to FileReference / FileDirectory

given these two changes I think we can more safely port stuff from 1.4 to 2.0.


Problems
--------
The only thing failing under 1.4 are the DateAndTime related tests since 1.4
doesn't feature the time zone fixes. Are you (Esteban) willing to backport
the changes made to 2.0 for DateAndTime. For production code it's not that
crucial, since as long as your VM/image doesn't change time zones everything
will just work fine ;) (it's not a bug, it's a feature, yeah yeah)
Reply | Threaded
Open this post in threaded view
|

Re: FileDirectory <> FSFileSystem

Sean P. DeNigris
Administrator
Camillo Bruni-3 wrote
FileSystem compat
Is the FS 2.0 API backward-compatible with the current 1.4 FS? If not, (and I /really/ want to have the latest FS in 1.4), I think it should be loadable via Metacello as not to create a mess for our users... maybe ConfigurationOfFilesystem20.

Camillo Bruni-3 wrote
- some Tests related to DateAndTime fail!
How does FS effect DateAndTime, or is that a separate issue?

Camillo Bruni-3 wrote
Furthermore I created a dumb FileDirectory interface for 2.0
Cool! As much as I dislike FileDir, that will be helpful to people porting. Will the compatibility methods raise deprecation warnings?

Sean
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: FileDirectory <> FSFileSystem

Camillo Bruni-3
On 2012-08-10, at 00:15, "Sean P. DeNigris" <[hidden email]> wrote:
> Camillo Bruni-3 wrote
>>
>> FileSystem compat
>>
> Is the FS 2.0 API backward-compatible with the current 1.4 FS? If not, (and
> I /really/ want to have the latest FS in 1.4), I think it should be loadable
> via Metacello as not to create a mess for our users... maybe
> ConfigurationOfFilesystem20.

most of the interface is more or less the same, with a bit less love in 1.4 and
certainly partly broken file streams... so I think we should update it in 1.4

> Camillo Bruni-3 wrote
>>
>> - some Tests related to DateAndTime fail!
>>
> How does FS effect DateAndTime, or is that a separate issue?
It's the other way round :), some FS test fail due to the timezone bug


> Camillo Bruni-3 wrote
>>
>> Furthermore I created a dumb FileDirectory interface for 2.0
>>
> Cool! As much as I dislike FileDir, that will be helpful to people porting.
> Will the compatibility methods raise deprecation warnings?

I didn't add that so far, but I guess we should, or provide a simple package to
manually load the the compat package, so it's a bit of a step :P
Reply | Threaded
Open this post in threaded view
|

Re: FileDirectory <> FSFileSystem

Dale Henrichs
Cami,

If you can let me know where to find your new FS code, I can take it for a spin ...

I've already spent time inventing a Grease-like layer that I can use with FileDirectory and FileSystem, but if your FileDirectory will be available and will fulfill my needs I can toss out the work I've done so far ...

I just ask that if you make up your minds once and for all here ... I don't want to port FileTree to Pharo-2.0 more than twice (as I will tossing the work that I've put into porting over the last two days...)

Dale

----- Original Message -----
| From: "Camillo Bruni" <[hidden email]>
| To: [hidden email]
| Sent: Thursday, August 9, 2012 3:19:06 PM
| Subject: Re: [Pharo-project] FileDirectory <> FSFileSystem
|
| On 2012-08-10, at 00:15, "Sean P. DeNigris" <[hidden email]>
| wrote:
| > Camillo Bruni-3 wrote
| >>
| >> FileSystem compat
| >>
| > Is the FS 2.0 API backward-compatible with the current 1.4 FS? If
| > not, (and
| > I /really/ want to have the latest FS in 1.4), I think it should be
| > loadable
| > via Metacello as not to create a mess for our users... maybe
| > ConfigurationOfFilesystem20.
|
| most of the interface is more or less the same, with a bit less love
| in 1.4 and
| certainly partly broken file streams... so I think we should update
| it in 1.4
|
| > Camillo Bruni-3 wrote
| >>
| >> - some Tests related to DateAndTime fail!
| >>
| > How does FS effect DateAndTime, or is that a separate issue?
| It's the other way round :), some FS test fail due to the timezone
| bug
|
|
| > Camillo Bruni-3 wrote
| >>
| >> Furthermore I created a dumb FileDirectory interface for 2.0
| >>
| > Cool! As much as I dislike FileDir, that will be helpful to people
| > porting.
| > Will the compatibility methods raise deprecation warnings?
|
| I didn't add that so far, but I guess we should, or provide a simple
| package to
| manually load the the compat package, so it's a bit of a step :P
|

Reply | Threaded
Open this post in threaded view
|

Re: FileDirectory <> FSFileSystem

Stéphane Ducasse
In reply to this post by Camillo Bruni-3
for your info, I have been working on resfreshing the chapter on FS and It helped me to find some strange stuff.
So I will push a list of questions soon.

Stef


On Aug 9, 2012, at 11:57 PM, Camillo Bruni wrote:

> FileSystem compat
> -----------------
> During my train trip today I "ported" (AKA copied) the whole FileSystem package
> from 2.0 to 1.4 and fixed some tests:
> - the 2.0 FS works almost perfectly in 1.4
> - some Tests related to DateAndTime fail!
>
> Furthermore I created a dumb FileDirectory interface for 2.0
> - FileDirectory is a subclass of FileReference
> - FileSystem-Legacy protocols have been added to FileReference / FileDirectory
>
> given these two changes I think we can more safely port stuff from 1.4 to 2.0.
>
>
> Problems
> --------
> The only thing failing under 1.4 are the DateAndTime related tests since 1.4
> doesn't feature the time zone fixes. Are you (Esteban) willing to backport
> the changes made to 2.0 for DateAndTime. For production code it's not that
> crucial, since as long as your VM/image doesn't change time zones everything
> will just work fine ;) (it's not a bug, it's a feature, yeah yeah)


Reply | Threaded
Open this post in threaded view
|

Re: FileDirectory <> FSFileSystem

Camillo Bruni-3
In reply to this post by Dale Henrichs

On 2012-08-10, at 01:10, Dale Henrichs <[hidden email]> wrote:

> Cami,
>
> If you can let me know where to find your new FS code, I can take it for a spin ...
>
> I've already spent time inventing a Grease-like layer that I can use with FileDirectory and FileSystem, but if your FileDirectory will be available and will fulfill my needs I can toss out the work I've done so far ...
>
> I just ask that if you make up your minds once and for all here ... I don't want to port FileTree to Pharo-2.0 more than twice (as I will tossing the work that I've put into porting over the last two days...)
>
> Dale

my preliminary version is here:

http://smalltalkhub.com/mc/dh83/fisleg/main

I didn't have time to test it though ;)
Reply | Threaded
Open this post in threaded view
|

Re: FileDirectory <> FSFileSystem

Dale Henrichs
Cami,

When I load your package into Pharo-1.4 the load eventually chokes because DirectoryClass has been deleted from the image ... For Pharo-1.4 we probably don't want the FileDirectory compatibility class...

Dale

----- Original Message -----
| From: "Camillo Bruni" <[hidden email]>
| To: [hidden email]
| Sent: Friday, August 10, 2012 1:56:37 AM
| Subject: Re: [Pharo-project] FileDirectory <> FSFileSystem
|
|
| On 2012-08-10, at 01:10, Dale Henrichs <[hidden email]> wrote:
|
| > Cami,
| >
| > If you can let me know where to find your new FS code, I can take
| > it for a spin ...
| >
| > I've already spent time inventing a Grease-like layer that I can
| > use with FileDirectory and FileSystem, but if your FileDirectory
| > will be available and will fulfill my needs I can toss out the
| > work I've done so far ...
| >
| > I just ask that if you make up your minds once and for all here ...
| > I don't want to port FileTree to Pharo-2.0 more than twice (as I
| > will tossing the work that I've put into porting over the last two
| > days...)
| >
| > Dale
|
| my preliminary version is here:
|
| http://smalltalkhub.com/mc/dh83/fisleg/main
|
| I didn't have time to test it though ;)
|

Reply | Threaded
Open this post in threaded view
|

Re: FileDirectory <> FSFileSystem

Dale Henrichs
In reply to this post by Camillo Bruni-3
Cami,

Despite not being able to load your working version in Pharo-1.4 I am making progress:). I've created a Grease-like layer for FileTree that papers over the differences between FileDirectory and FileSystem (there is no common protocol between the two at all:)...

I am now porting the FileSystemDirectoryEntry/DirectoryEntry code and it would be _extremely convenient_ if FileSystemDirectoryEntry were more compatible with DirectoryEntry. In my case the two methods: #name and #readStreamDo: would save me a ton of work.

I can add them as extension methods for FileTree (and will for the time being). #readStreamDo: is just plain missing and #name is an obvious concession to portability...

Let me know whether you think these two method will be included in Pharo-2.0 or not.

Dale

----- Original Message -----
| From: "Camillo Bruni" <[hidden email]>
| To: [hidden email]
| Sent: Friday, August 10, 2012 1:56:37 AM
| Subject: Re: [Pharo-project] FileDirectory <> FSFileSystem
|
|
| On 2012-08-10, at 01:10, Dale Henrichs <[hidden email]> wrote:
|
| > Cami,
| >
| > If you can let me know where to find your new FS code, I can take
| > it for a spin ...
| >
| > I've already spent time inventing a Grease-like layer that I can
| > use with FileDirectory and FileSystem, but if your FileDirectory
| > will be available and will fulfill my needs I can toss out the
| > work I've done so far ...
| >
| > I just ask that if you make up your minds once and for all here ...
| > I don't want to port FileTree to Pharo-2.0 more than twice (as I
| > will tossing the work that I've put into porting over the last two
| > days...)
| >
| > Dale
|
| my preliminary version is here:
|
| http://smalltalkhub.com/mc/dh83/fisleg/main
|
| I didn't have time to test it though ;)
|

Reply | Threaded
Open this post in threaded view
|

Re: FileDirectory <> FSFileSystem

Dale Henrichs
Cami,

turns out that #readStreamDo: was added for FileTree in Pharo1.x so adding it doesn't need to be part of the base ...

#name would then be the only compatibility method ... I can add that one as an extension, too.

Dale

----- Original Message -----
| From: "Dale Henrichs" <[hidden email]>
| To: [hidden email]
| Sent: Friday, August 10, 2012 8:39:18 AM
| Subject: Re: [Pharo-project] FileDirectory <> FSFileSystem
|
| Cami,
|
| Despite not being able to load your working version in Pharo-1.4 I am
| making progress:). I've created a Grease-like layer for FileTree
| that papers over the differences between FileDirectory and
| FileSystem (there is no common protocol between the two at all:)...
|
| I am now porting the FileSystemDirectoryEntry/DirectoryEntry code and
| it would be _extremely convenient_ if FileSystemDirectoryEntry were
| more compatible with DirectoryEntry. In my case the two methods:
| #name and #readStreamDo: would save me a ton of work.
|
| I can add them as extension methods for FileTree (and will for the
| time being). #readStreamDo: is just plain missing and #name is an
| obvious concession to portability...
|
| Let me know whether you think these two method will be included in
| Pharo-2.0 or not.
|
| Dale
|
| ----- Original Message -----
| | From: "Camillo Bruni" <[hidden email]>
| | To: [hidden email]
| | Sent: Friday, August 10, 2012 1:56:37 AM
| | Subject: Re: [Pharo-project] FileDirectory <> FSFileSystem
| |
| |
| | On 2012-08-10, at 01:10, Dale Henrichs <[hidden email]> wrote:
| |
| | > Cami,
| | >
| | > If you can let me know where to find your new FS code, I can take
| | > it for a spin ...
| | >
| | > I've already spent time inventing a Grease-like layer that I can
| | > use with FileDirectory and FileSystem, but if your FileDirectory
| | > will be available and will fulfill my needs I can toss out the
| | > work I've done so far ...
| | >
| | > I just ask that if you make up your minds once and for all here
| | > ...
| | > I don't want to port FileTree to Pharo-2.0 more than twice (as I
| | > will tossing the work that I've put into porting over the last
| | > two
| | > days...)
| | >
| | > Dale
| |
| | my preliminary version is here:
| |
| | http://smalltalkhub.com/mc/dh83/fisleg/main
| |
| | I didn't have time to test it though ;)
| |
|
|

Reply | Threaded
Open this post in threaded view
|

Re: FileDirectory <> FSFileSystem

Camillo Bruni-3
hi dale,

digesting your word flow right now :P...
I don't think I will touch a computer this weekend so I probably take a look at
it on monday to make the two things work...

just to clarify what I intend to do:
- update FS in 1.4 so we have all the "modern" features
- provide an optionally loadable FileDirectory stub in 2.0

I hope like that migration should become easier, since you can simply load code in 2.0
and slowly start calling FileReference methods on the FileDirectory entries.
My FileDirectory wrapper in 2.0 is simply a subclass of FileReference, being polymorphic
here, I think, should really ease the migration task.

best
cami

On 2012-08-10, at 19:15, Dale Henrichs <[hidden email]> wrote:

> Cami,
>
> turns out that #readStreamDo: was added for FileTree in Pharo1.x so adding it doesn't need to be part of the base ...
>
> #name would then be the only compatibility method ... I can add that one as an extension, too.
>
> Dale
>
> ----- Original Message -----
> | From: "Dale Henrichs" <[hidden email]>
> | To: [hidden email]
> | Sent: Friday, August 10, 2012 8:39:18 AM
> | Subject: Re: [Pharo-project] FileDirectory <> FSFileSystem
> |
> | Cami,
> |
> | Despite not being able to load your working version in Pharo-1.4 I am
> | making progress:). I've created a Grease-like layer for FileTree
> | that papers over the differences between FileDirectory and
> | FileSystem (there is no common protocol between the two at all:)...
> |
> | I am now porting the FileSystemDirectoryEntry/DirectoryEntry code and
> | it would be _extremely convenient_ if FileSystemDirectoryEntry were
> | more compatible with DirectoryEntry. In my case the two methods:
> | #name and #readStreamDo: would save me a ton of work.
> |
> | I can add them as extension methods for FileTree (and will for the
> | time being). #readStreamDo: is just plain missing and #name is an
> | obvious concession to portability...
> |
> | Let me know whether you think these two method will be included in
> | Pharo-2.0 or not.
> |
> | Dale
> |
> | ----- Original Message -----
> | | From: "Camillo Bruni" <[hidden email]>
> | | To: [hidden email]
> | | Sent: Friday, August 10, 2012 1:56:37 AM
> | | Subject: Re: [Pharo-project] FileDirectory <> FSFileSystem
> | |
> | |
> | | On 2012-08-10, at 01:10, Dale Henrichs <[hidden email]> wrote:
> | |
> | | > Cami,
> | | >
> | | > If you can let me know where to find your new FS code, I can take
> | | > it for a spin ...
> | | >
> | | > I've already spent time inventing a Grease-like layer that I can
> | | > use with FileDirectory and FileSystem, but if your FileDirectory
> | | > will be available and will fulfill my needs I can toss out the
> | | > work I've done so far ...
> | | >
> | | > I just ask that if you make up your minds once and for all here
> | | > ...
> | | > I don't want to port FileTree to Pharo-2.0 more than twice (as I
> | | > will tossing the work that I've put into porting over the last
> | | > two
> | | > days...)
> | | >
> | | > Dale
> | |
> | | my preliminary version is here:
> | |
> | | http://smalltalkhub.com/mc/dh83/fisleg/main
> | |
> | | I didn't have time to test it though ;)
> | |
> |
> |
>


Reply | Threaded
Open this post in threaded view
|

Re: FileDirectory <> FSFileSystem

Dale Henrichs
Cami,

Well, I've been able to use the existing FS implementation to get to the point where I am passing all of my unit tests in Pharo-2.0 without FileDirectory ...

I had to hack in a couple of places to get around the deficiencies of FS on Pharo-1.4 and I've yet to port the changes to the other platforms, so I'm not quite out of the woods, but I am at the point where I will start doing development in Pharo-2.0 using the FileTree repositories.

It will be nice to be able to use FS in Pharo-1.4, moving forward...

Thanks for your help,

Dale
 
----- Original Message -----
| From: "Camillo Bruni" <[hidden email]>
| To: [hidden email]
| Sent: Friday, August 10, 2012 4:50:13 PM
| Subject: Re: [Pharo-project] FileDirectory <> FSFileSystem
|
| hi dale,
|
| digesting your word flow right now :P...
| I don't think I will touch a computer this weekend so I probably take
| a look at
| it on monday to make the two things work...
|
| just to clarify what I intend to do:
| - update FS in 1.4 so we have all the "modern" features
| - provide an optionally loadable FileDirectory stub in 2.0
|
| I hope like that migration should become easier, since you can simply
| load code in 2.0
| and slowly start calling FileReference methods on the FileDirectory
| entries.
| My FileDirectory wrapper in 2.0 is simply a subclass of
| FileReference, being polymorphic
| here, I think, should really ease the migration task.
|
| best
| cami
|
| On 2012-08-10, at 19:15, Dale Henrichs <[hidden email]> wrote:
|
| > Cami,
| >
| > turns out that #readStreamDo: was added for FileTree in Pharo1.x so
| > adding it doesn't need to be part of the base ...
| >
| > #name would then be the only compatibility method ... I can add
| > that one as an extension, too.
| >
| > Dale
| >
| > ----- Original Message -----
| > | From: "Dale Henrichs" <[hidden email]>
| > | To: [hidden email]
| > | Sent: Friday, August 10, 2012 8:39:18 AM
| > | Subject: Re: [Pharo-project] FileDirectory <> FSFileSystem
| > |
| > | Cami,
| > |
| > | Despite not being able to load your working version in Pharo-1.4
| > | I am
| > | making progress:). I've created a Grease-like layer for FileTree
| > | that papers over the differences between FileDirectory and
| > | FileSystem (there is no common protocol between the two at
| > | all:)...
| > |
| > | I am now porting the FileSystemDirectoryEntry/DirectoryEntry code
| > | and
| > | it would be _extremely convenient_ if FileSystemDirectoryEntry
| > | were
| > | more compatible with DirectoryEntry. In my case the two methods:
| > | #name and #readStreamDo: would save me a ton of work.
| > |
| > | I can add them as extension methods for FileTree (and will for
| > | the
| > | time being). #readStreamDo: is just plain missing and #name is an
| > | obvious concession to portability...
| > |
| > | Let me know whether you think these two method will be included
| > | in
| > | Pharo-2.0 or not.
| > |
| > | Dale
| > |
| > | ----- Original Message -----
| > | | From: "Camillo Bruni" <[hidden email]>
| > | | To: [hidden email]
| > | | Sent: Friday, August 10, 2012 1:56:37 AM
| > | | Subject: Re: [Pharo-project] FileDirectory <> FSFileSystem
| > | |
| > | |
| > | | On 2012-08-10, at 01:10, Dale Henrichs <[hidden email]>
| > | | wrote:
| > | |
| > | | > Cami,
| > | | >
| > | | > If you can let me know where to find your new FS code, I can
| > | | > take
| > | | > it for a spin ...
| > | | >
| > | | > I've already spent time inventing a Grease-like layer that I
| > | | > can
| > | | > use with FileDirectory and FileSystem, but if your
| > | | > FileDirectory
| > | | > will be available and will fulfill my needs I can toss out
| > | | > the
| > | | > work I've done so far ...
| > | | >
| > | | > I just ask that if you make up your minds once and for all
| > | | > here
| > | | > ...
| > | | > I don't want to port FileTree to Pharo-2.0 more than twice
| > | | > (as I
| > | | > will tossing the work that I've put into porting over the
| > | | > last
| > | | > two
| > | | > days...)
| > | | >
| > | | > Dale
| > | |
| > | | my preliminary version is here:
| > | |
| > | | http://smalltalkhub.com/mc/dh83/fisleg/main
| > | |
| > | | I didn't have time to test it though ;)
| > | |
| > |
| > |
| >
|
|
|