[Pharo-project] about FS: a roadmap
HI guys I was rambling.... so I looked at other frameworks (RIO, FileMan) and I prefer FS. So I will start to write again comments, continue to reorganize the current structure. I was in contact with colin that told me that he found the improved version that he was doing after ESUG. I asked him to publish it into filesystem I will integrate the fixes of damien. I would like to have - a better help (already there). - Rename workingDirectory as workingDirectoryPath - add workingDirectory returning a FSReference - Every method with an adequate comment. The idea is that the comment should describe what the method does when we do not see its body: let us try to think a bit in JavaDoc or Ruby Yard fashion for once. - Use rename primitives - Have the possibility to create empty file - Clean identification of implementation tests and black box tests - Integrate Gemstone fixes - Stream usage clearly identified to support Gemstone migration) - Onion like structure so that we can have one or two packages that are really the core (yes I still want a minimal kernel). - Check the file API creation: old, new, exist.... - Prepare a migration path for 1.3 - Fix filesystem workingDirectory isWorkingDirectory returns false. - rename fileDoesNotExist: and friends do convey that its goal is mainly to raise en exception raiseFileDoesNotExistsFor: Of course I would like to avoid to throw away all that good energy so I hope to collaborate with colin. We will see what will happen. I can understand that he has another agenda/time frame but we should move on this front. So all my code will be publicly available in the SqueakSource/fs repository. If you think that this is the wrong path, let me know. I will report my changes regularly. Stef
I was bored in the train so ... I did that and now I will do it regularly. - I added trace to gather the exact type of arguments.... and - moved FSLocator out of core and in resolver. - added comments to FSFileSystem>>fileExist: and friends. - changed category name error handling -> error raising - better argument name for createDirectory - added comment to createDirectory - added comment to copy and friends - added comment to ensureDirectory: - added comment to isDirectory: - added comment to isFile: - added comment to open: aStringOrPath writable: aBoolean - added comment to readStreamOn: aStringOrPath Next step - should probably rename FileExists as FileAlreadyExistsError Stef
cool! Keep it up. On 09.02.2011, at 19:07, Stéphane Ducasse wrote:
I was bored in the train so ...
I did that and now I will do it regularly.
- I added trace to gather the exact type of arguments.... and - moved FSLocator out of core and in resolver. - added comments to FSFileSystem>>fileExist: and friends. - changed category name error handling -> error raising - better argument name for createDirectory - added comment to createDirectory - added comment to copy and friends - added comment to ensureDirectory: - added comment to isDirectory: - added comment to isFile: - added comment to open: aStringOrPath writable: aBoolean - added comment to readStreamOn: aStringOrPath
Next step - should probably rename FileExists as FileAlreadyExistsError
Stef
- renamed workingDirectory into workingDirectoryPath - added FSDiskFileSystem class>>workingDirectory - renamed working into workingDirectory. - deprecate working - better printOn: for DirectoryEntry - comments allChildren, allFiles, allDirectories, children, files, directories, childDirectories, childDirectories. Since childDirectories is the same as directories and childFiles the same as files may be we should deprecate child* because this is not good to have both. Stef
- first cut at rename support - for FSReference and FSFileSystem (only FSDiscFilesystem). - added fullName to FSPath, FSReference, FSLocator - more comments - should do MemoryFS rename: - deprecate childDirectories and childFiles to use directories and files instead. Stef
On Fri, Feb 11, 2011 at 19:45, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
- renamed workingDirectory into workingDirectoryPath - added FSDiskFileSystem class>>workingDirectory
- renamed working into workingDirectory. - deprecate working
I think isWorkingDirectory should be renamed to isEmpty. It's only used in this meaning anyway. A real isWorkingDirectory should resolve paths and check equality or something like that, so that it works even if you give it a fully expanded path rather than just ./ -- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet
<stephane.ducasse@inria.fr> wrote:
- renamed workingDirectory into workingDirectoryPath - added FSDiskFileSystem class>>workingDirectory
- renamed working into workingDirectory. - deprecate working
I think isWorkingDirectory should be renamed to isEmpty. It's only used in this meaning anyway.
A real isWorkingDirectory should resolve paths and check equality or something like that, so that it works even if you give it a fully expanded path rather than just ./
commit and merge :) Damien better commit into squeaksource/fs dans pharotaksForces. Ok now heading towards the month saint michel and before the breakfast :)
-- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet
participants (4)
-
Damien Pollet -
Max Leske -
Stéphane Ducasse -
Stéphane Ducasse