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 |
Free forum by Nabble | Edit this page |