MCVersionInfoWriter.st
author Claus Gittinger <cg@exept.de>
Mon, 14 May 2018 02:21:18 +0200
changeset 1048 582b3a028cbc
parent 885 b3de4763ece2
child 985 3bf6c8cfad35
permissions -rw-r--r--
#FEATURE by cg class: MCMethodDefinition changed: #postloadOver:

"{ Package: 'stx:goodies/monticello' }"

MCWriter subclass:#MCVersionInfoWriter
	instanceVariableNames:'written'
	classVariableNames:''
	poolDictionaries:''
	category:'SCM-Monticello-Storing'
!


!MCVersionInfoWriter methodsFor:'as yet unclassified'!

isWritten: aVersionInfo
	^ self written includes: aVersionInfo
!

writeVersionInfo: aVersionInfo
        (self isWritten: aVersionInfo)
                ifTrue: [^ stream nextPutAll: '(id ', aVersionInfo id printString storeString, ')'].
        stream nextPut: $(.
        #(name message id date time author) 
                do: [:sel | 
                        stream nextPutAll: sel.
                        stream nextPut: Character space.
                        ((aVersionInfo perform: sel) ifNil: ['']) printString storeOn: stream.
                        stream nextPut: $ ].
        stream nextPutAll: 'ancestors ('.
        aVersionInfo ancestors do: [:ea | self writeVersionInfo: ea].
        stream nextPutAll: ') stepChildren ('.
        aVersionInfo stepChildren do: [:ea | self writeVersionInfo: ea].
        stream nextPutAll: '))'.
        self wrote: aVersionInfo

    "Modified: / 11-06-2013 / 02:55:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

written
	^ written ifNil: [written := Set new]
!

wrote: aVersionInfo
	self written add: aVersionInfo
! !

!MCVersionInfoWriter class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCVersionInfoWriter.st,v 1.6 2013-06-11 01:58:56 vrany Exp $'
!

version_CVS
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCVersionInfoWriter.st,v 1.6 2013-06-11 01:58:56 vrany Exp $'
!

version_SVN
    ^ '$Id: MCVersionInfoWriter.st,v 1.6 2013-06-11 01:58:56 vrany Exp $'
! !