[Pkg] DeltaStreams: DeltaStreams-Model-gk.13.mcz

squeak-dev-noreply at lists.squeakfoundation.org squeak-dev-noreply at lists.squeakfoundation.org
Mon Jun 29 23:19:59 UTC 2009


A new version of DeltaStreams-Model was added to project DeltaStreams:
http://www.squeaksource.com/DeltaStreams/DeltaStreams-Model-gk.13.mcz

==================== Summary ====================

Name: DeltaStreams-Model-gk.13
Author: gk
Time: 30 June 2009, 1:19:51 am
UUID: aafd211b-46b1-48fb-805b-90ed40547660
Ancestors: DeltaStreams-Model-gk.12

Some fixes related to DSDelta>>changes and changeSequence.

=============== Diff against DeltaStreams-Model-gk.12 ===============

Item was added:
+ ----- Method: DSChangeSequence>>select: (in category 'enumerating') -----
+ select: aBlock
+ 	^ self changes select: aBlock!

Item was changed:
  ----- Method: DSDelta>>changes (in category 'accessing') -----
  changes
+ 	^ changeSequence changes!
- 	^ changes!

Item was changed:
  ----- Method: DSVisitor>>applyDelta: (in category 'composite changes') -----
  applyDelta: aDelta
  	"Treat like a composite change by default."
  	
+ 	^ self applyCompositeChange: aDelta changeSequence!
- 	^ self applyCompositeChange: aDelta changes!

Item was changed:
  ----- Method: DSDelta>>normalize (in category 'applying') -----
  normalize
  	"Modify changes so that they are compacted into the minimal form
  	still producing the equivalent end result. In other words - remove redundancy."
  
+ 	changeSequence ifNotNil: [
+ 		changeSequence moveClassNameChanges; removeShadows; mergeChanges]!
- 	changes ifNotNil: [
- 		changes moveClassNameChanges; removeShadows; mergeChanges]!

Item was changed:
  ----- Method: DSDelta>>initialize (in category 'initialize-release') -----
  initialize
  	super initialize.
+ 	changeSequence := DSChangeSequence new.
- 	changes := DSChangeSequence new.
  	changeCounter := 0.
  	uuid := UUID new!

Item was added:
+ ----- Method: DSDelta>>changeSequence (in category 'accessing') -----
+ changeSequence
+ 	^ changeSequence!

Item was changed:
  DSAnnotatedObject subclass: #DSDelta
+ 	instanceVariableNames: 'changes uuid changeCounter changeSequence'
- 	instanceVariableNames: 'changes uuid changeCounter'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'DeltaStreams-Model-Base'!
  
+ !DSDelta commentStamp: 'gk 6/30/2009 00:12' prior: 0!
- !DSDelta commentStamp: 'gk 6/29/2009 21:54' prior: 0!
  A Delta is much like a ChangeSet but improved and simplified. It can capture changes like a ChangeSet does (see #event:), but unlike ChangeSets multiple Deltas can be logging changes at the same time. A Delta maintains a chronologically ordered collection of change objects that is a true log unlike a ChangeSet which tries to normalize changes on the fly and does not maintain an order.
  
  Also - each change object carries more information than a record in a ChangeSet does - and they know how to produce their anti change which in turn gives a Delta the ability to produce its own anti Delta. Such an anti Delta can be used to revert a Delta.
  
  Instance variables:
  
+ changeSequence - an instance of DSChangeSequence.
- changes - an instance of DSChangeSequence.
  uuid - created when I am first instantiated, never changed.
  changeCounter - a counter to ensure strict sorting of changes, timestamps are not sufficient.
  
  Standard properties:
  
  #revertable - if missing we presume true. Can be used to explicitly flag a Delta as revertable/not revertable.
  !

Item was changed:
  ----- Method: DSDelta>>= (in category 'comparing') -----
  = aDelta
  	"Two deltas are considered equal if they contain the same change sequence."
  
+ 	^changeSequence = aDelta changeSequence	!
- 	^changes = aDelta changes	!



More information about the Packages mailing list