--- a/ChangeSet.st Tue Jul 31 16:42:45 2012 +0200
+++ b/ChangeSet.st Tue Jul 31 17:32:19 2012 +0200
@@ -382,43 +382,51 @@
^ changeSet
!
-fromFile:aFilename
- |mime stream nm|
-
- nm := aFilename asFilename asAbsoluteFilename pathName.
- mime := MIMETypes mimeTypeForFilename:aFilename.
+fromFile:filenameOrString
+ |filename mime stream changeSet|
+
+ filename := filenameOrString asFilename.
+
+ mime := MIMETypes mimeTypeForFilename:filename.
mime isNil ifTrue:[
- mime := aFilename asFilename mimeTypeOfContents.
+ mime := filename mimeTypeOfContents.
mime isNil ifTrue:[
- self error:'unknown MIME type for file'.
+ "/ self error:'unknown MIME type for file' mayProceed:true.
+
+ "/ assume chunk format
+ mime := 'text/plain'.
].
].
[
- stream := aFilename asFilename readStream.
+ stream := filename readStream.
mime = 'text/xml' ifTrue:[
- ^ (self fromXMLStream:stream) name: nm; yourself.
- ].
- mime = 'application/x-smalltalk-source-sif' ifTrue:[
- ^ (self fromSIFStream:stream) name: nm; yourself
- ].
- mime = 'application/x-smalltalk-dolphin-package' ifTrue:[
- ^ (self fromDolphinPACStream:stream) name: nm; yourself
- ].
- stream := EncodedStream decodedStreamFor:stream.
- ^ (self fromStream:stream) name: nm; yourself
+ changeSet := self fromXMLStream:stream.
+ ] ifFalse:[
+ mime = 'application/x-smalltalk-source-sif' ifTrue:[
+ changeSet := self fromSIFStream:stream.
+ ] ifFalse:[
+ mime = 'application/x-smalltalk-dolphin-package' ifTrue:[
+ changeSet := self fromDolphinPACStream:stream.
+ ] ifFalse:[
+ stream := EncodedStream decodedStreamFor:stream.
+ changeSet := self fromStream:stream.
+ ]
+ ]
+ ]
] ensure:[
stream notNil ifTrue:[stream close].
].
+ changeSet name: filename baseName.
+ ^ changeSet
"
- ChangeSet fromFile:('changes')
- ChangeSet fromFile:('patches')
+ ChangeSet fromFile: 'st.chg'
+ ChangeSet fromFile: 'patches'
"
"Created: / 16-02-1998 / 12:19:34 / cg"
- "Modified: / 14-12-1999 / 15:23:16 / cg"
- "Modified: / 16-03-2012 / 15:46:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (comment): / 28-07-2012 / 09:41:40 / cg"
!
fromFileOrDirectory: fileOrDirectory
@@ -699,7 +707,7 @@
!ChangeSet class methodsFor:'others'!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.195 2012-07-31 14:42:45 vrany Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.196 2012-07-31 15:32:19 vrany Exp $'
! !
!ChangeSet class methodsFor:'queries'!
@@ -4046,7 +4054,7 @@
!ChangeSet class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.195 2012-07-31 14:42:45 vrany Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.196 2012-07-31 15:32:19 vrany Exp $'
!
version_SVN