MCSnapshot.st
author Jan Vrany <jan.vrany@labware.com>
Tue, 11 Jul 2023 12:59:07 +0100
branchjv
changeset 1174 f0a16c301971
parent 1105 ae0f60d861ca
permissions -rw-r--r--
Make `ProjectDefinition >> #monticelloTimestamps_code` an extension in `stx:goodies/monticello` ...and convert it to use (not so) new annotation-based extension mechanism.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1104
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
     1
"
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
     2
COPYRIGHT (c) 2020 LabWare
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
     3
"
104
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
"{ Package: 'stx:goodies/monticello' }"
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
1002
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
     6
"{ NameSpace: Smalltalk }"
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
     7
104
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
Object subclass:#MCSnapshot
1103
57970b950ba4 Backed out changeset fa939598a32a
Jan Vrany <jan.vrany@labware.com>
parents: 1100
diff changeset
     9
	instanceVariableNames:'definitions'
104
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
	classVariableNames:''
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
	poolDictionaries:''
681
21899a53abcd category change
Claus Gittinger <cg@exept.de>
parents: 301
diff changeset
    12
	category:'SCM-Monticello-Base'
104
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
!
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
1104
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
    15
!MCSnapshot class methodsFor:'documentation'!
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
    16
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
    17
copyright
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
    18
"
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
    19
COPYRIGHT (c) 2020 LabWare
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
    20
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
    21
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
    22
"
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
    23
! !
104
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
!MCSnapshot class methodsFor:'as yet unclassified'!
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
empty
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
	^ self fromDefinitions: #()
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
!
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
fromDefinitions: aCollection
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
	^ self new initializeWithDefinitions: aCollection
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
! !
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
1105
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    35
!MCSnapshot methodsFor:'Compatibility-Squeak'!
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    36
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    37
readDataFrom: aDataStream size: varsOnDisk
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    38
    "/ Recent Pharo (8 and later) adds an extra instvar to
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    39
    "/ MCSnapshot and MCMethodDefinition. The codePoint below
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    40
    "/ just ignores the extra instvar, allowing us to read these
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    41
    "/ .mcz. 
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    42
    "/ 
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    43
    "/ Whether this is a bug or another instance of
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    44
    "/ 'nothing but Pharo matters' I do not know.
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    45
    (self class instSize) == (varsOnDisk - 1) ifTrue:[ 
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    46
        [ 
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    47
            ^ super readDataFrom: aDataStream size: varsOnDisk
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    48
        ] on: Error do:[:ex|
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    49
            ex mayProceed ifTrue:[ 
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    50
                ex proceed.
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    51
            ].
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    52
        ]
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    53
    ].    
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    54
    super readDataFrom: aDataStream size: varsOnDisk
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    55
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    56
    "Created: / 29-06-2020 / 23:02:18 / Jan Vrany <jan.vrany@labware.com>"
ae0f60d861ca Allow reading an extra instvar for `MCSnapshot` and `MCMethodDefinition`
Jan Vrany <jan.vrany@labware.com>
parents: 1104
diff changeset
    57
! !
1104
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
    58
104
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
!MCSnapshot methodsFor:'accessing'!
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
= other
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
	^ definitions asArray = other definitions asArray
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
!
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
definitions
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
	^ definitions
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
!
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
hash
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
	^ definitions asArray hash
740
3ff29ac67ac4 class: MCSnapshot
Claus Gittinger <cg@exept.de>
parents: 681
diff changeset
    71
!
3ff29ac67ac4 class: MCSnapshot
Claus Gittinger <cg@exept.de>
parents: 681
diff changeset
    72
3ff29ac67ac4 class: MCSnapshot
Claus Gittinger <cg@exept.de>
parents: 681
diff changeset
    73
includeExtrasForSTX
1002
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    74
   <resource: #obsolete>
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    75
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    76
   self obsoleteFeatureWarning:'Use `options includeExtrasForSTX` instead'.
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    77
   ^ self options includeExtrasForSTX
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    78
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    79
    "Modified: / 07-09-2015 / 15:28:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    80
!
895
b85534b16bd4 Make includeExtrasForSTX an object attribute instead of instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 874
diff changeset
    81
1002
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    82
includeExtrasForSTX: aBoolean
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    83
   <resource: #obsolete>
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    84
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    85
   self obsoleteFeatureWarning:'Use `options includeExtrasForSTX: aBoolean` instead'.
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    86
   self options includeExtrasForSTX: aBoolean
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    87
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    88
    "Modified: / 07-09-2015 / 15:27:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
740
3ff29ac67ac4 class: MCSnapshot
Claus Gittinger <cg@exept.de>
parents: 681
diff changeset
    89
!
3ff29ac67ac4 class: MCSnapshot
Claus Gittinger <cg@exept.de>
parents: 681
diff changeset
    90
1002
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    91
options
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    92
    "Return a snapshot options (as MCSnapshotOptions) with options
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    93
     for the receiver. Options may be modified."
895
b85534b16bd4 Make includeExtrasForSTX an object attribute instead of instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 874
diff changeset
    94
1002
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    95
    | options |
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    96
    options := self objectAttributeAt: #options.
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    97
    options isNil ifTrue:[ 
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
    98
        options := MCSnapshotOptions new.
1104
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
    99
        self objectAttributeAt: #options put: options.
1002
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
   100
    ].
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
   101
    ^ options
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
   102
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
   103
    "Created: / 07-09-2015 / 15:24:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1104
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
   104
    "Modified: / 29-06-2020 / 23:05:38 / Jan Vrany <jan.vrany@labware.com>"
1002
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
   105
!
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
   106
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
   107
options: aMCSnapshotOptions
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
   108
    self objectAttributeAt: #options put: aMCSnapshotOptions.
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
   109
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 895
diff changeset
   110
    "Created: / 07-09-2015 / 15:26:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
104
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
! !
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
203
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   113
!MCSnapshot methodsFor:'converting'!
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   114
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   115
asChangeSet
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   116
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   117
    ^(ChangeSet withAll:
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   118
        (self definitions collect:[:def|def asChange]))
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   119
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   120
    "Created: / 13-10-2010 / 17:18:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   121
    "Modified: / 26-10-2010 / 23:05:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   122
! !
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   123
849
86415336eb1e More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 745
diff changeset
   124
!MCSnapshot methodsFor:'copying'!
86415336eb1e More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 745
diff changeset
   125
86415336eb1e More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 745
diff changeset
   126
postCopy
86415336eb1e More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 745
diff changeset
   127
    "Do half-shallow copy of definitions to allow for their transformation"
86415336eb1e More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 745
diff changeset
   128
    definitions := definitions copy.
86415336eb1e More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 745
diff changeset
   129
    1 to: definitions size do:[:i|
874
7a9d528b0eae class: MCSnapshot
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 862
diff changeset
   130
        definitions at: i put: (definitions at:i) copy
849
86415336eb1e More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 745
diff changeset
   131
    ]
86415336eb1e More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 745
diff changeset
   132
86415336eb1e More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 745
diff changeset
   133
    "Created: / 29-05-2013 / 01:58:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
874
7a9d528b0eae class: MCSnapshot
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 862
diff changeset
   134
    "Modified: / 31-05-2013 / 00:54:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
849
86415336eb1e More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 745
diff changeset
   135
! !
86415336eb1e More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 745
diff changeset
   136
104
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
!MCSnapshot methodsFor:'initializing'!
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
initializeWithDefinitions: aCollection
203
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   140
	definitions := aCollection.
104
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
! !
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
!MCSnapshot methodsFor:'loading'!
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
install
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
	MCPackageLoader installSnapshot: self
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
!
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
updatePackage: aPackage
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
	MCPackageLoader updatePackage: aPackage withSnapshot: self
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
! !
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
!MCSnapshot methodsFor:'patching'!
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
patchRelativeToBase: aSnapshot
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
	^ MCPatch fromBase: aSnapshot target: self
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
! !
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
862
a48551f0494d More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 849
diff changeset
   159
!MCSnapshot methodsFor:'queries'!
a48551f0494d More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 849
diff changeset
   160
a48551f0494d More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 849
diff changeset
   161
includesClassNamed: className
a48551f0494d More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 849
diff changeset
   162
    definitions reverseDo:[:definition|
a48551f0494d More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 849
diff changeset
   163
        (definition isClassDefinition and:[definition className = className])
a48551f0494d More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 849
diff changeset
   164
            ifTrue:[ ^ true ].
a48551f0494d More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 849
diff changeset
   165
    ].
a48551f0494d More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 849
diff changeset
   166
    ^false
a48551f0494d More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 849
diff changeset
   167
a48551f0494d More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 849
diff changeset
   168
    "Created: / 31-05-2013 / 00:04:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a48551f0494d More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 849
diff changeset
   169
! !
a48551f0494d More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 849
diff changeset
   170
104
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
!MCSnapshot class methodsFor:'documentation'!
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
version
895
b85534b16bd4 Make includeExtrasForSTX an object attribute instead of instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 874
diff changeset
   174
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCSnapshot.st,v 1.10 2013-08-12 00:59:30 vrany Exp $'
203
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   175
!
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   176
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   177
version_CVS
895
b85534b16bd4 Make includeExtrasForSTX an object attribute instead of instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 874
diff changeset
   178
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCSnapshot.st,v 1.10 2013-08-12 00:59:30 vrany Exp $'
203
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   179
!
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   180
1104
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
   181
version_HG
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
   182
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
   183
    ^ '$Changeset: <not expanded> $'
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
   184
!
fc153ca7f02c Fixed `MCSnapshot >> #options` to always return options
Jan Vrany <jan.vrany@labware.com>
parents: 1103
diff changeset
   185
203
fa9a97fecbd4 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 104
diff changeset
   186
version_SVN
895
b85534b16bd4 Make includeExtrasForSTX an object attribute instead of instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 874
diff changeset
   187
    ^ '$Id: MCSnapshot.st,v 1.10 2013-08-12 00:59:30 vrany Exp $'
104
8ba478a34b4b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
! !
740
3ff29ac67ac4 class: MCSnapshot
Claus Gittinger <cg@exept.de>
parents: 681
diff changeset
   189