Re: [vwnc] Store in VW7.6-Issues with renaming packages in Store and a proposal for a solution

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

Re: [vwnc] Store in VW7.6-Issues with renaming packages in Store and a proposal for a solution

Alan Knight-2
Yes, that's a good solution, and one that is already in the 7.7 builds under AR 56098. The code change we used is attached.

I should also note that this it the vw-dev list, and as such is intended for issues related to the current builds. Issues affecting a released version like 7.6, should be addressed to the more general forum of vwnc, where they're more on topic and there's a larger community able to respond and interested in the information.

At 08:11 AM 3/24/2009, Christiaan Nooteboom wrote:

>We encountered issues with new functionality of Store in VW 7.6 regarding renamed packages.
>In 7.4.1 sometimes new packages were created by renaming a package that was in use.
>
>After upgrading to VW7.6 this caused issues: 1) Latest version in the VersionBrowser can be the version of another package(Versions of packages are mixed up).
>2) updating image causes different packages to be loaded then the ones in the image if there are newer versions published of the package with the old package name.
>Other Store functions are also affected by this issue.
>
>This issue also occurs if a developer renames a package just before another developer publishes his changes.
>
>Proposal for a solution:
>Only show versions of the package with the old package name that are published before the first package version with the new package name.
>This will still show the parent packages with other names but will not confuse by showing newer packages developed with the old name.
>
>Is this a good solution, or are there other issues?
>
>Regards,
>
>Christiaan
>
>Code:
>Smalltalk.Store.Pundle>>allVersionsWithName: aName
>   "For bundles and packages, also follow renames, when the trace has a different name from us."
>   "Do not show newer versions of the packages with a different name"
>   | basicVersions otherNames |
>   basicVersions := super allVersionsWithName: aName.
>   basicVersions
>       do:
>           [:each |
>           self cache
>               at: each primaryKey
>               put: each].
>   otherNames := basicVersions
>       inject: OrderedCollection new
>       into:
>           [:sum :each |
>           | parent |
>           parent := each parentRecord.
>           (parent notNil and: [parent name ~= aName]) ifTrue: [sum add: parent].
>           sum].
>   ^otherNames
>       inject: basicVersions
>       into:
>           [:sum :each |
>           sum add: each.
>           sum
>               ,
>                   (self
>                       allParentsWithChildrenWithName: each name
>                       lessThanTimestamp: each timeStamp)]
>
>_____________________________________________________________________________________
>
>Smalltalk.Store.Pundle>>allParentsWithChildrenWithName: aName lessThanTimestamp: timestamp
>  
>   | basicVersions otherNames |
>   basicVersions := self allVersionsWithName: aName lessThanTimeStamp:
>           timestamp.
>   basicVersions
>       do:
>           [:each |
>           self cache
>               at: each primaryKey
>               put: each].
>   otherNames := basicVersions
>       inject: OrderedCollection new
>       into:
>           [:sum :each |
>           | parent |
>           parent := each parentRecord.
>           (parent notNil and: [parent name ~= aName]) ifTrue: [sum add: parent].
>           sum].
>   ^otherNames
>       inject: basicVersions
>       into:
>           [:sum :each |
>           sum add: each.
>           sum
>               ,
>                   (self
>                       allParentsWithChildrenWithName: each name
>                       lessThanTimestamp: each timeStamp)]

--
Alan Knight [|], Engineering Manager, Cincom Smalltalk
[hidden email]
[hidden email]
http://www.cincom.com/smalltalk

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

Store-DB-Pundles-diffs.st (2K) Download Attachment