MCVersionInfo.st
author Jan Vrany <jan.vrany@labware.com>
Wed, 05 Aug 2020 16:08:46 +0100
branchjv
changeset 1109 4aad118c1257
parent 1004 e48adfaf3541
child 1164 b2f0322f5c53
permissions -rw-r--r--
Add utility method `MCVersionInfo >> #forPackage:` ...that creates a default version info for given Smalltalk/X package. Date, time, author and message defaults to "now", current user and '<no message>'.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1109
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
     1
"
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
     2
COPYRIGHT (c) 2020 LabWare
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
     3
"
2
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
"{ Package: 'stx:goodies/monticello' }"
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
1003
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
     6
"{ NameSpace: Smalltalk }"
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
     7
2
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
MCAncestry subclass:#MCVersionInfo
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	instanceVariableNames:'id name message date time author'
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
	classVariableNames:''
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
	poolDictionaries:''
700
2f3535bb1260 category change
Claus Gittinger <cg@exept.de>
parents: 532
diff changeset
    12
	category:'SCM-Monticello-Versioning'
2
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
MCVersionInfo comment:'Adds to the record of ancestry, other identifying details.'
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
1109
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    18
!MCVersionInfo class methodsFor:'documentation'!
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    19
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    20
copyright
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    21
"
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    22
COPYRIGHT (c) 2020 LabWare
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    23
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    24
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    25
"
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    26
! !
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    27
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    28
!MCVersionInfo class methodsFor:'instance creation'!
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    29
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    30
forPackage: package 
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    31
    ^ self new initializeWithPackage: package
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    32
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    33
    "Created: / 05-08-2020 / 15:34:49 / Jan Vrany <jan.vrany@labware.com>"
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
    34
! !
2
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
!MCVersionInfo class methodsFor:'as yet unclassified'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
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
    39
	^ self 
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
		name: vName
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
		id: id
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
		message: message
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
		date: date
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
		time: time
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
		author: author
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
		ancestors: ancestors
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
		stepChildren: #()
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
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
    51
	^ self new
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
		initializeWithName: vName
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
		id: id
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
		message: message
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
		date: date
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
		time: time
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
		author: author
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
		ancestors: ancestors
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
		stepChildren: stepChildren
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
! !
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
!MCVersionInfo methodsFor:'accessing'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
1003
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    64
inspector2TabAncestry
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    65
    <inspector2Tab>
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    66
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    67
    ^ (self newInspector2Tab)
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    68
        label:'Ancestry';
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    69
        priority:50;
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    70
        view: [
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    71
            | list view |
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    72
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    73
            list := PluggableHierarchicalList new.
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    74
            list childBlock: [ :parent | parent ancestors ].
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    75
            list labelBlock: [ :child | child name ].
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    76
            list root: self.
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    77
            view := ScrollableView for:HierarchicalListView.
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    78
            view useDefaultIcons: false.
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    79
            view list: list.
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    80
            view
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    81
        ];
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    82
        yourself
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    83
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    84
    "Created: / 07-09-2015 / 15:38:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    85
!
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
    86
2
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
message
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
	^ message ifNil: ['']
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
name
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
	^ name ifNil: ['<working copy>']
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
summary
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
	^ String streamContents:
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
		[:s |
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
		s
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
			nextPutAll: self summaryHeader; cr; cr;
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
			nextPutAll: self message.
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
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
summaryHeader
466
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   105
        ^ String streamContents:
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   106
                [:s |
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   107
                s
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   108
                        nextPutAll: 'Name: '; nextPutAll: self name; cr.
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   109
                date ifNotNil:
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   110
                        [s
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   111
                                nextPutAll: 'Author: '; nextPutAll: author; cr;
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   112
                                nextPutAll: 'Time: '; nextPutAll:  date asString, ', ', time asString; cr].
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   113
                id ifNotNil:
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   114
                        [s nextPutAll: 'UUID: '; nextPutAll: id printString; cr].
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   115
                s
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   116
                        nextPutAll: 'Ancestors: '; nextPutAll: self ancestorString.
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   117
                self stepChildren isEmpty ifFalse:
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   118
                        [s cr; nextPutAll: 'Backported From: '; nextPutAll: self stepChildrenString].
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   119
                ]
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   120
853af85b57c3 changed: #summaryHeader
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
   121
    "Modified: / 05-09-2011 / 09:07:31 / cg"
2
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
timeStamp
532
590f64057fea changed: #timeStamp
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
   125
    Smalltalk isSmalltalkX ifTrue:[
590f64057fea changed: #timeStamp
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
   126
        ^ Timestamp fromDate: date andTime: time
590f64057fea changed: #timeStamp
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
   127
    ].
590f64057fea changed: #timeStamp
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
   128
    ^ TimeStamp date: date time: time
590f64057fea changed: #timeStamp
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
   129
590f64057fea changed: #timeStamp
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
   130
    "Modified: / 02-12-2011 / 14:36:15 / cg"
2
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
timeString
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
	^ date asString, ', ', time asString
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
! !
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
!MCVersionInfo methodsFor:'comparing'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
= other
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
	^ other species = self species
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
		and: [other hasID: 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
hash
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
	^ id hash
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:'converting'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
asDictionary
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
	^ Dictionary new
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
		at: #name put: name;
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
		at: #id put: id;
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
		at: #message put: message;
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
		at: #date put: date;
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
		at: #time put: time;
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
		at: #author put: author;
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
		at: #ancestors put: (self ancestors collect: [:a | a asDictionary]);
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
		yourself
1004
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   160
!
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   161
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   162
fromLiteralArrayEncoding: encoding
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   163
    name := encoding at: 3.
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   164
    id := UUID fromString: (encoding at: 5).
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   165
    date := Date readFrom:(encoding at: 7) format: '%y-%m-%d'.
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   166
    time := Time readFrom:(encoding at: 9) format: '%H:%m:%s.%i'.
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   167
    author :=  encoding at: 11.
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   168
    message := (encoding at: 13) asStringWithSqueakLineEndings.     
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   169
    encoding size > 13 ifTrue:[
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   170
        ancestors := (encoding at: 15) collect:[ :e | e decodeAsLiteralArray ].
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   171
    ].
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   172
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   173
    "Created: / 07-09-2015 / 17:36:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   174
    "Modified: / 08-09-2015 / 00:02:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   175
!
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   176
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   177
literalArrayEncoding
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   178
    ^ self literalArrayEncodingWithAncestors: true
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   179
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   180
    "Created: / 07-09-2015 / 17:23:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   181
!
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   182
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   183
literalArrayEncodingWithAncestors: withAncestors
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   184
    | encoding |
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   185
    encoding := Array new: 13 + (withAncestors ifTrue:[2] ifFalse:[0]).
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   186
    encoding
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   187
        at: 1 put: MCVersionInfo name;
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   188
        at: 2 put: #name:; at: 3 put: name;
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   189
        at: 4 put: #id:; at: 5 put: id printString;
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   190
        at: 6 put: #date:; at: 7 put: (date printStringFormat:'%y-%m-%d');
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   191
        at: 8 put: #time:; at: 9 put: (time printStringFormat:'%H:%m:%s.%i');
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   192
        at:10 put: #author:; at: 11 put: author;
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   193
        at:12 put: #message:; at: 13 put: (message asStringWithNativeLineEndings).
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   194
    withAncestors ifTrue:[    
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   195
        encoding at:14 put: #ancestors:; at: 15 put: (withAncestors ifTrue:[self ancestors collect:[ :e|e literalArrayEncodingWithAncestors: withAncestors ] as: Array] ifFalse:[ #() ]).
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   196
    ].
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   197
    ^ encoding.
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   198
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   199
    "Created: / 07-09-2015 / 17:22:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   200
    "Modified: / 08-09-2015 / 00:00:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   201
!
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   202
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   203
literalArrayEncodingWithoutAncestors
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   204
    ^ self literalArrayEncodingWithAncestors: false
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   205
e48adfaf3541 Added support for ancestry splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1003
diff changeset
   206
    "Created: / 07-09-2015 / 17:47:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
! !
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
!MCVersionInfo methodsFor:'initialize-release'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
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
   212
	name _ vName.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
	id _ aUUID.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
	message _ aString.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
	date _ aDate.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
	time _ aTime.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
	author _ initials.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
	ancestors _  aCollection.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
	stepChildren _ stepCollection
1109
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   220
!
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   221
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   222
initializeWithPackage: aSymbol
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   223
    name := aSymbol.
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   224
    id := UUID fromBytes: (SHA1Stream hashValueOf: name).
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   225
    message := '<no message>'.
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   226
    date := Date today.
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   227
    time := Time now.
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   228
    author := OperatingSystem getFullUserName.
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   229
    ancestors := nil.
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   230
    stepChildren := nil.
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   231
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   232
    "Created: / 05-08-2020 / 15:37:28 / Jan Vrany <jan.vrany@labware.com>"
2
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
! !
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
!MCVersionInfo methodsFor:'pillaging'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
author
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
	^ author
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
date
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
	^ date
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
id
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
	^ id 
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
time
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
	^ time
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
! !
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
!MCVersionInfo methodsFor:'printing'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
printOn: aStream
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
	super printOn: aStream.
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
	aStream nextPut: $(; nextPutAll: self name; nextPut: $)
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
	
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
! !
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
!MCVersionInfo methodsFor:'private'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
hasID: aUUID
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
	^ id = aUUID
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
! !
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
!MCVersionInfo class methodsFor:'documentation'!
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
version
700
2f3535bb1260 category change
Claus Gittinger <cg@exept.de>
parents: 532
diff changeset
   270
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCVersionInfo.st,v 1.4 2012-09-11 21:30:28 cg Exp $'
1109
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   271
!
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   272
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   273
version_HG
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   274
4aad118c1257 Add utility method `MCVersionInfo >> #forPackage:`
Jan Vrany <jan.vrany@labware.com>
parents: 1004
diff changeset
   275
    ^ '$Changeset: <not expanded> $'
2
af9d766a7b67 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
! !
1003
0ebeea1cdeeb Added MCWorkingAncestry>>ancestors:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 700
diff changeset
   277