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 |
Excellnt colin
>> > I've published my changes to the SqueakSource FS repository. However, > I think we should abandon them, for several reasons: > > They're based on a quite old version of FS, and they touch a *lot* of > methods. So there are a ton of conflicts, and merging them into the > latest versions that are on SqueakSource is really difficult to do > correctly. > > Also, I think they're ultimately going in the wrong direction, and we > should try to come up with a better solution to the Path/Reference > naming problem. Ok I guess that with good comment and a bit of package reorganization as I did it we can leave with FSPath. > >> 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 > > Agreed. > >> - 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. > > Also agreed, at least for the public API. Comments should be more > sparse for the private stuff. > >> - Use rename primitives >> - Have the possibility to create empty file >> - Clean identification of implementation tests and black box tests >> - Integrate Gemstone fixes > > Agreed. > >> - 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). > > I'd like to see FS split into separate packages: > > - Core (basic, API, resolvers, enumeration and exceptions) > - MemoryFS > - DiskFS > - ZipFS > - GitFS > - CurlFS > - FileStream compatibility > - ANSI streams > - Xtreams integration > > This will make it easier to have a minimal installation (just Core and > DiskFS) as well as port to platforms like VW and Gemstone > >> - Check the file API creation: >> old, new, exist.... > > Sure, but that stuff is actually much simpler when you have read-only > and write-only streams. > >> - 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: > > Sure. > >> 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. > > Cool! > > Colin |
In reply to this post by Stéphane Ducasse
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 > |
I will now I decided to do it for real.
Stef |
In reply to this post by Stéphane Ducasse
- Merged damien changes in fs
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 |
In reply to this post by Stéphane Ducasse
On Fri, Feb 11, 2011 at 19:45, Stéphane Ducasse
<[hidden email]> 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 |
> <[hidden email]> 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 > |
Free forum by Nabble | Edit this page |