[Seaside] [DVS] loading new versions doesn't remove old methods

Avi Bryant seaside@lists.squeakfoundation.org
Mon, 9 Dec 2002 14:19:40 -0800 (PST)


On Mon, 9 Dec 2002, Ned Konz wrote:

> I'm having trouble loading new versions of DVS packages on top of old
> ones. When I've removed a method between one version and another, the
> removed method isn't going away.
>
> Is this supposed to happen?
>
> I've tried loading the new version both directly from a SAR like this:
>
> self fileInMemberNamed: 'SBSqueakCompatibility.st'.
> Smalltalk at: #FilePackageManager ifPresentAndInMemory: [ :fpm | fpm
> registerPackage: 'SBSqueakCompatibility' ].
>
> and from the PackagePanel "Load" button.

Ned,

You need to use the PackagePanel FileIn button instead.  Load is meant for
bringing in new versions, not updating existing ones.  To address your
main point of confusion - the .st files are straight file outs, it's the
way they're filed in that's special.

Programmatically, I think you'd need to do something like

|current new|
current := ImagePackageLoad new package: (PackageInfo named:
'PackageName').
new := StreamPackageLoader new stream: myFileStream.
(new changesFromBase: current) fileIn.

Does that help?