A new version of MonticelloConfigurations was added to project The Inbox:
http://source.squeak.org/inbox/MonticelloConfigurations-dtl.161.mcz ==================== Summary ==================== Name: MonticelloConfigurations-dtl.161 Author: dtl Time: 13 April 2020, 4:04:16.517174 pm UUID: 303cb0bb-9a48-4324-a1b5-cec0e45896d0 Ancestors: MonticelloConfigurations-dtl.160 Implement copyForEdit. If anMCConfiguration is to be edited, then edit a copyForEdit and leave the unmodified version in its version history. =============== Diff against MonticelloConfigurations-dtl.160 =============== Item was added: + ----- Method: MCConfiguration>>copyForEdit (in category 'copying') ----- + copyForEdit + "Preparing to edit a configuration. Answer a new copy with the original + instance saved in version history, and with no author initials or timestamp. + The initials and timestamp are to be set immediately prior to saving an edited + version." + | config | + config := MCConfigurationExtended new. + config name: name. + config dependencies: dependencies. + config repositories: repositories. + config priorVersions addFirst: self. + ^ config! Item was changed: + ----- Method: MCConfiguration>>copyWithoutHistory (in category 'copying') ----- - ----- Method: MCConfiguration>>copyWithoutHistory (in category 'private') ----- copyWithoutHistory + ^ self copy + ! - ^ self copy! Item was added: + ----- Method: MCConfigurationExtended>>= (in category 'comparing') ----- + = configuration + ^ ((super = configuration + and: [configuration authorInitials = authorInitials]) + and: [configuration timeStamp = timeStamp]) + and: [configuration comment = comment]. + ! Item was added: + ----- Method: MCConfigurationExtended>>authorInitials: (in category 'accessing') ----- + authorInitials: initials + authorInitials := initials + ! Item was added: + ----- Method: MCConfigurationExtended>>comment: (in category 'accessing') ----- + comment: aString + comment := aString + ! Item was added: + ----- Method: MCConfigurationExtended>>copyForEdit (in category 'copying') ----- + copyForEdit + "Preparing to edit a configuration. Answer a new copy with the original + instance saved in version history, and with no author initials or timestamp. + The initials and timestamp are to be set immediately prior to saving an edited + version." + | config | + config := self copy. + config priorVersions addFirst: self. + config authorInitials: nil. + config timeStamp: nil. + ^ config! Item was changed: + ----- Method: MCConfigurationExtended>>copyWithoutHistory (in category 'copying') ----- - ----- Method: MCConfigurationExtended>>copyWithoutHistory (in category 'private') ----- copyWithoutHistory + "When a configuration is part of a version history, do not repeatedly + export its history." + | config | config := self copy. config priorVersions removeAll. ^ config! Item was added: + ----- Method: MCConfigurationExtended>>hash (in category 'comparing') ----- + hash + ^ super hash bitOr: timeStamp hash + ! Item was changed: ----- Method: MCConfigurationExtended>>initialize (in category 'initialize') ----- initialize super initialize. + mcmVersion := '2'. priorVersions := OrderedCollection new.! Item was removed: - ----- Method: MCConfigurationExtended>>mcmVersion: (in category 'accessing') ----- - mcmVersion: aString - mcmVersion := aString - ! Item was added: + ----- Method: MCConfigurationExtended>>timeStamp: (in category 'accessing') ----- + timeStamp: aString + timeStamp := aString + ! |
Free forum by Nabble | Edit this page |