[Pkg] Rio: File-Kernel-kph.14.mcz

squeak-dev-noreply at lists.squeakfoundation.org squeak-dev-noreply at lists.squeakfoundation.org
Sat Feb 28 13:31:01 UTC 2009


A new version of File-Kernel was added to project Rio:
http://www.squeaksource.com/Rio/File-Kernel-kph.14.mcz

==================== Summary ====================

Name: File-Kernel-kph.14
Author: kph
Time: 28 February 2009, 1:30:54 pm
UUID: 0677ab8c-059c-11de-9b6f-000a95edb42a
Ancestors: File-Kernel-kph.13

All non-archive tests pass

=============== Diff against File-Kernel-kph.13 ===============

Item was changed:
  ----- Method: FileExecutive>>toDirLocal:addAllLocal:relativeTo: (in category 'local/remote file copy') -----
  toDirLocal: aDir addAllLocal: someFD relativeTo: aBaseDir
  
+ 	| map overwrite dest |
- 	| map |
- 
- 	map := self toDir: aDir mkpathAll: someFD relativeTo: aBaseDir.
  
+ 	overwrite := FileNotification signal isOverwrite.
+ 
+ 	map := self toDir: aDir mkpathAll: someFD relativeTo: aBaseDir.
+ 	
+ 	^ map collect: [ :ea | 
+ 		dest := ea second.
+ 		(dest isDirectory not and: [ overwrite or: [ dest exists not ] ])
+ 			ifTrue: [ 
+ 				self copyLocalFile: ea first toLocalFile: dest 
+ 		].
+ 	
+ 	dest
+ 	].
- 	map do: [ :each | self copyLocalFile: each first toLocalFile: each second ].
  	
+ 	!
- 	^ map collect: [ :ea | ea second ]!

Item was changed:
  ----- Method: FileLocalExecutive>>copyLocalFile:toLocalFile: (in category 'as yet unclassified') -----
  copyLocalFile: aFile toLocalFile: bFile
  
+ 	| |	
+ 	
+ 	self class OSProcessOrNil ifNotNilDo: [ :osp | 
+ 	
+ 		osp waitForCommand: 'cp "', aFile asVmPathName, '" "', bFile asVmPathName, '"'. ^ aFile
+ 		
+ 	].
- 	self class OSProcessOrNil ifNotNilDo: [ :osp | osp waitForCommand: 'cp "', aFile asVmPathName, '" "', bFile asVmPathName, '"'. ^ aFile].
  
  	(self primCopyFile: aFile asVmPathName to: bFile asVmPathName) = #failed ifTrue: [ ^ aFile copyTo: bFile ].
  
  	^ aFile
  
  !

Item was added:
+ ----- Method: FileNotification>>isOverwrite (in category 'accessing') -----
+ isOverwrite
+ 	"Answer the value of isOverwrite"
+ 
+ 	^ isOverwrite ifNil:[ false ]!

Item was added:
+ ----- Method: FileLocalDosExecutive class>>instanciatorFrom: (in category 'as yet unclassified') -----
+ instanciatorFrom: aString
+ 
+ 	"we being a dos file system have been asked to instancate a url, if that returns a FileLocalExecutive
+ 	we butt in"
+ 	
+ 	^ (super instanciatorFrom: aString)!

Item was changed:
  ----- Method: FileExecutive>>toDir:mkpathAll:relativeTo: (in category 'local/remote file copy') -----
+ toDir: aDir mkpathAll: someFD relativeTo: aBaseDir  
- toDir: aDir mkpathAll: someFD relativeTo: aBaseDir
- 
  	"take the list of files and ensure that the directories exist, return sourceFile -> destFile map"
  
  	^ someFD 
  		collect: [ :aFileOrDir | Array with: aFileOrDir with: (self dir: aDir mkpath: aFileOrDir relativeTo: aBaseDir) ]
- 		thenSelect: [ :ea | ea first isFile ].
  	
  	 !

Item was added:
+ ----- Method: FileNotification>>isOverwrite: (in category 'accessing') -----
+ isOverwrite: anObject
+ 	"Set the value of isOverwrite"
+ 
+ 	isOverwrite := anObject.
+ 	self resume: self.!

Item was added:
+ ----- Method: FileExecutive>>toDir:mkpathAll:relativeTo:overwriting: (in category 'local/remote file copy') -----
+ toDir: aDir mkpathAll: someFD relativeTo: aBaseDir overwriting: flg
+ 
+ 	"take the list of files and ensure that the directories exist, return sourceFile -> destFile map"
+ 
+ 	^ someFD 
+ 		collect: [ :aFileOrDir | Array with: aFileOrDir with: (self dir: aDir mkpath: aFileOrDir relativeTo: aBaseDir overwriting: flg) ]
+ 		 !

Item was added:
+ ----- Method: FileExecutive>>dir:mkpath:relativeTo:overwriting: (in category 'as yet unclassified') -----
+ dir: aDir mkpath: aFileOrDir relativeTo: aBaseDirectory overwriting: flg
+ 	
+ 	| newFD |
+ 	
+ 	newFD := aBaseDirectory ifNil: [ (aDir / aFileOrDir fileName) asFile ]
+ 				    		 	 ifNotNil: [ aDir / (aFileOrDir linearRelativeTo: aBaseDirectory) ].
+ 
+  	aFileOrDir isDirectory ifTrue: [ newFD mkpath ]. 
+ 	aFileOrDir isFile ifTrue: [ newFD parent mkpath ].
+ 	
+ 	^ newFD!

Item was added:
+ Notification subclass: #FileNotification
+ 	instanceVariableNames: 'isOverwrite'
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'File-Kernel'!

Item was added:
+ ----- Method: FileNotification>>defaultAction (in category 'accessing') -----
+ defaultAction
+ 	
+ 	"default action is to return self, since we carry the flags"
+ 	^ self 
+ 	
+ "
+ 'defaultAction'
+ FileNotification signal isOverwrite.
+  [ FileNotification signal isOverwrite ] on: FileNotification do: [ :ex | ex isOverwrite: true) ] 
+ "!

Item was removed:
- ----- Method: FileLocalExecutive>>copyFile:toLocalFile: (in category 'as yet unclassified') -----
- copyFile: aFile toLocalFile: bFile
- 	
- 	^ self copyLocalFile: aFile toLocalFile: bFile
- 	!

Item was removed:
- ----- Method: FileLocalExecutive>>copyFile:toRemoteFile: (in category 'as yet unclassified') -----
- copyFile: aFile toRemoteFile: bFile
- 
- 	^ bFile executive copyLocalFile: aFile toRemoteFile: bFile!



More information about the Packages mailing list