A new version of File-Kernel was added to project Rio:
http://www.squeaksource.com/Rio/File-Kernel-kph.8.mcz
==================== Summary ====================
Name: File-Kernel-kph.8
Author: kph
Time: 3 December 2008, 2:00:08 pm
UUID: e8aedc3d-bfac-462d-a101-5a1dab206f29
Ancestors: File-Kernel-kph.7
. fixed ascii file reading
. fixed windows volumes equality (resulted in the Volumes set was getting filled up)
. reader now calls readStream, so is equivalent now
=============== Diff against File-Kernel-kph.7 ===============
Item was changed:
----- Method: FileKernel>>reader (in category 'public file') -----
reader
+ ^ self readStream!
- ^ self basicReader!
Item was changed:
FileExecutive subclass: #FileLocalExecutive
+ instanceVariableNames: 'rootString root defaultDirectory'
- instanceVariableNames: 'rootString root defaultDirectory newRio'
classVariableNames: 'Current Test'
poolDictionaries: ''
category: 'File-Kernel'!
!FileLocalExecutive commentStamp: 'kph 4/17/2007 19:25' prior: 0!
Introducing the idea that Rio's exist in the context of their 'physical container', we have the RioLocalFileSystem as the primary container which provides the file system interface, also known as the 'executive'.
On unix there is one executive for the whole system. On dos there is one executive per volume. This approach also supports the notion of files within archives and files on remote servers.
On startup, having a formal model of the host filesystem allows us to keep a current and previous instance introducing the possibility for migrating Rio's on startup when the image has been moved. For example C:/ could be replaced with /mnt/hda1 thus attempting to make images properly portable. (experimental idea)
!
Item was changed:
----- Method: FileLocalExecutive class>>initialize (in category 'class initialization') -----
initialize
Smalltalk addToStartUpList: self after: Delay.
FileLocalDosExecutive initializeVolumes.
Current := self newForThisPlatform.
Current initializeDefault.
!
Item was changed:
----- Method: FileLocalExecutive>>toUrl: (in category 'executive actions') -----
toUrl: aFD
+ ^ FileUrl new initializeFromPathString: (aFD full value replaceAll: $\ with: $/)!
- ^ FileUrl new initializeFromPathString: (aFD full value replacing: $\ with: $/)!
Item was added:
+ ----- Method: FileLocalExecutive>>= (in category 'as yet unclassified') -----
+ = other
+
+ ^ self class = other class and: [ self rootString = other rootString ]
+
+ !
Item was changed:
----- Method: FileLocalDosExecutive class>>executiveForVolume: (in category 'as yet unclassified') -----
executiveForVolume: theRequestedRoot
| requestedRoot |
requestedRoot := theRequestedRoot.
requestedRoot = nil ifTrue: [ requestedRoot := 'C:/' ].
^ Volumes
detect: [ :i | i isRoot: requestedRoot ]
+ ifNone: [ Volumes add: (self basicNew setRootString: requestedRoot; setDefault: nil; yourself) ]!
- ifNone: [ Volumes add: (self class basicNew setRootString: requestedRoot; setDefault: nil; yourself) ]!
Item was added:
+ ----- Method: FileLocalExecutive>>hash (in category 'as yet unclassified') -----
+ hash
+
+ ^ self class hash bitXor: self rootString hash
+ !
Item was changed:
----- Method: FileKernel class>>initialize (in category 'as yet unclassified') -----
initialize
+ TestFileSystem := nil!
- TestFileSystem := nil!
Item was added:
+ ----- Method: FileKernel>>readStream (in category 'public file') -----
+ readStream
+
+ ^ self basicReader!
A new version of Installer-Core was added to project Installer:
http://www.squeaksource.com/Installer/Installer-Core-kph.254.mcz
==================== Summary ====================
Name: Installer-Core-kph.254
Author: kph
Time: 2 December 2008, 8:18:01 pm
UUID: e7e08458-bd31-471b-967b-36ed230540c0
Ancestors: Installer-Core-kph.253
fix for viewing mc versions
=============== Diff against Installer-Core-kph.253 ===============
Item was changed:
----- Method: InstallerMonticello>>basicView (in category 'basic interface') -----
basicView
"Installer ss project: 'Installer'; view: 'Installer-Core'. "
| it |
it := self mcThing.
(it respondsTo: #open) ifTrue: [ ^ it open ].
+ "in case an old mc doesnt have #open"
+
+ (it instVarNamed: 'versions') do: #open.
+ !
- (MCSnapshotBrowser forSnapshot: it)
- showLabelled: 'Snapshot of ', self package!
A new version of Monticello.impl was added to project Monticello Public:
http://www.squeaksource.com/mc/Monticello.impl-kph.594.mcz
==================== Summary ====================
Name: Monticello.impl-kph.594
Author: kph
Time: 2 December 2008, 8:14:27 pm
UUID: b48743ed-9d28-4d2f-8b19-89aa00f006fe
Ancestors: Monticello.impl-kph.593
open on multiple versions in MCVersionLoader
=============== Diff against Monticello.impl-kph.593 ===============
Item was changed:
----- Method: MCVersionLoader>>open (in category 'loading') -----
open
+ ^ versions do: #open!
- ^ versions first open!
Item was removed:
- ----- Method: MCVersionLoader>>versions (in category 'loading') -----
- versions
-
- ^ versions!
A new version of Monticello.impl was added to project Monticello Public:
http://www.squeaksource.com/mc/Monticello.impl-kph.593.mcz
==================== Summary ====================
Name: Monticello.impl-kph.593
Author: kph
Time: 2 December 2008, 8:12:29 pm
UUID: 1b2da92e-5fe4-4925-9b7c-ac7372f8c214
Ancestors: Monticello.impl-kph.592
provide #open on MCVersionLoader
=============== Diff against Monticello.impl-kph.592 ===============
Item was added:
+ ----- Method: MCVersionLoader>>versions (in category 'loading') -----
+ versions
+
+ ^ versions!
Item was added:
+ ----- Method: MCVersionLoader>>open (in category 'loading') -----
+ open
+
+ ^ versions first open!
A new version of Packages-Library was added to project Packages:
http://www.squeaksource.com/Packages/Packages-Library-kph.5.mcz
==================== Summary ====================
Name: Packages-Library-kph.5
Author: kph
Time: 2 December 2008, 4:21:19 pm
UUID: fff7813d-bf16-40cc-a9e7-d5a537cedeb4
Ancestors: Packages-Library-kph.4
.
=============== Diff against Packages-Library-kph.4 ===============
Item was changed:
----- Method: PackagesDevU>>FileKernel (in category 'Model Extension') -----
FileKernel
self name: 'File-Kernel'.
+ self version: '7'.
- self version: '6'.
info category: 'Model Extension'.
info description:
'A file IO interface inspired by http://rio.rubyforge.org , potentially replaces FileDirectory.
This package contains only the kernel of Rio. See the package File-Base to get the full distribution.'.
info maintainer: 'keith_hodges(a)yahoo.co.uk'.
info homepage: 'http://wiki.squeak.org/squeak/5929'.
info squeakMapID: ''.
+ info url: 'http://www.squeaksource.com/Rio/File-Kernel-kph.7.mcz'.
- info url: 'http://www.squeaksource.com/Rio/File-Kernel-kph.6.mcz'.
self provides: #().
self dependsOn: #().
!