The Inbox: MonticelloConfigurations-dtl.161.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: MonticelloConfigurations-dtl.161.mcz

commits-2
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
+ !