MCVersionInfo.st
author Claus Gittinger <cg@exept.de>
Mon, 14 May 2018 02:21:18 +0200
changeset 1048 582b3a028cbc
parent 700 2f3535bb1260
child 1003 0ebeea1cdeeb
permissions -rw-r--r--
#FEATURE by cg class: MCMethodDefinition changed: #postloadOver:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
MCAncestry subclass:#MCVersionInfo
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'id name message date time author'
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
700
2f3535bb1260 category change
Claus Gittinger <cg@exept.de>
parents: 532
diff changeset
     7
	category:'SCM-Monticello-Versioning'
2
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
MCVersionInfo comment:'Adds to the record of ancestry, other identifying details.'
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
!MCVersionInfo class methodsFor:'as yet unclassified'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
name: vName id: id message: message date: date time: time author: author ancestors: ancestors
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	^ self 
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
		name: vName
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
		id: id
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
		message: message
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
		date: date
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
		time: time
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
		author: author
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
		ancestors: ancestors
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
		stepChildren: #()
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
name: vName id: id message: message date: date time: time author: author ancestors: ancestors stepChildren: stepChildren
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
	^ self new
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
		initializeWithName: vName
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
		id: id
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
		message: message
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
		date: date
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
		time: time
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
		author: author
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
		ancestors: ancestors
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
		stepChildren: stepChildren
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
! !
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
!MCVersionInfo methodsFor:'accessing'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
message
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	^ message ifNil: ['']
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
name
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
	^ name ifNil: ['<working copy>']
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
summary
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
	^ String streamContents:
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
		[:s |
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
		s
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
			nextPutAll: self summaryHeader; cr; cr;
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
			nextPutAll: self message.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
		]
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
summaryHeader
466
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    60
        ^ String streamContents:
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    61
                [:s |
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    62
                s
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    63
                        nextPutAll: 'Name: '; nextPutAll: self name; cr.
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    64
                date ifNotNil:
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    65
                        [s
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    66
                                nextPutAll: 'Author: '; nextPutAll: author; cr;
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    67
                                nextPutAll: 'Time: '; nextPutAll:  date asString, ', ', time asString; cr].
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    68
                id ifNotNil:
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    69
                        [s nextPutAll: 'UUID: '; nextPutAll: id printString; cr].
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    70
                s
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    71
                        nextPutAll: 'Ancestors: '; nextPutAll: self ancestorString.
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    72
                self stepChildren isEmpty ifFalse:
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    73
                        [s cr; nextPutAll: 'Backported From: '; nextPutAll: self stepChildrenString].
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    74
                ]
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    75
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    76
    "Modified: / 05-09-2011 / 09:07:31 / cg"
2
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
timeStamp
532
590f64057fea changed: #timeStamp
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
    80
    Smalltalk isSmalltalkX ifTrue:[
590f64057fea changed: #timeStamp
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
    81
        ^ Timestamp fromDate: date andTime: time
590f64057fea changed: #timeStamp
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
    82
    ].
590f64057fea changed: #timeStamp
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
    83
    ^ TimeStamp date: date time: time
590f64057fea changed: #timeStamp
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
    84
590f64057fea changed: #timeStamp
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
    85
    "Modified: / 02-12-2011 / 14:36:15 / cg"
2
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
timeString
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
	^ date asString, ', ', time asString
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
! !
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
!MCVersionInfo methodsFor:'comparing'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
= other
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
	^ other species = self species
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
		and: [other hasID: id]
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
hash
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
	^ id hash
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
! !
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
!MCVersionInfo methodsFor:'converting'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
asDictionary
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
	^ Dictionary new
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
		at: #name put: name;
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
		at: #id put: id;
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
		at: #message put: message;
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
		at: #date put: date;
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
		at: #time put: time;
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
		at: #author put: author;
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
		at: #ancestors put: (self ancestors collect: [:a | a asDictionary]);
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
		yourself
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
! !
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
!MCVersionInfo methodsFor:'initialize-release'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
initializeWithName: vName id: aUUID message: aString date: aDate time: aTime author: initials ancestors: aCollection stepChildren: stepCollection
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
	name _ vName.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
	id _ aUUID.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
	message _ aString.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
	date _ aDate.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
	time _ aTime.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
	author _ initials.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
	ancestors _  aCollection.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
	stepChildren _ stepCollection
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
! !
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
!MCVersionInfo methodsFor:'pillaging'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
author
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
	^ author
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
date
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
	^ date
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
id
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
	^ id 
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
time
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
	^ time
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
! !
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
!MCVersionInfo methodsFor:'printing'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
printOn: aStream
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
	super printOn: aStream.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
	aStream nextPut: $(; nextPutAll: self name; nextPut: $)
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
	
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
! !
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
!MCVersionInfo methodsFor:'private'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
hasID: aUUID
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
	^ id = aUUID
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
! !
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
!MCVersionInfo class methodsFor:'documentation'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
version
700
2f3535bb1260 category change
Claus Gittinger <cg@exept.de>
parents: 532
diff changeset
   165
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCVersionInfo.st,v 1.4 2012-09-11 21:30:28 cg Exp $'
2
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
! !