[squeak-dev] Preserving package history while refactoring a package (was: The Trunk: Chronology-Core-dtl.2.mcz)

David T. Lewis lewis at mail.msen.com
Mon Feb 29 18:00:21 UTC 2016

I know how to adopt a different ancestor within a package, but I don't see
any obvious way to adopt an ancestor from a different package.

Don't laugh, but what I actually did was use an inspector to find the
ancestry for the version that I wanted to adopt from Kernel, saved its
ancestors array with "Smalltalk at: #FOO put ancestors", then in an
inspector for the version in Chronology-Core, I did "ancestors :=
ancestors, FOO". After saving this to my package cache, I had an MCZ with
plausible looking ancestry. I did the same for Chronology-Tests.

I then copied the new MCZs to trunk, and tried updating an image. The
process seemed to be stuck running "forever", though I am not sure why. I
tried it a couple of times with the same result.

At that point I quickly decided to delete the new MCZs before I really
screwed something up badly in trunk. I figured that it was time to ask for
help before I really made a mess of things.


> Seems like Adopt should work...
> On Sun, Feb 28, 2016 at 8:32 PM, David T. Lewis <lewis at mail.msen.com>
> wrote:
>> If I want to move a sub-package out of a larger package (for example
>> move
>> Kernel-Chronology out of package Kernel and into its own package called
>> Chronology-Core), and if I want to preserve the version history for that
>> sub-package, is there a way to do this?
>> I do not see any tool support for it. I tried manually updating the
>> ancestry
>> for the new package (Chronology-Core) and adding the ancestry from a
>> suitable
>> Kernel ancestor. This seems to produce a resonable version history in my
>> local image, and all looked good when I saved the package to local
>> package-cache.
>> After copying the locally saved MCZ's with added version history up to
>> source.squeak.org, the result was a broken update stream. So ....
>> My manual hack is clearly not the right way to attack this problem. Is
>> there another approach that might work?
>> I really do not want to lose version history on the entire Chronology
>> package, so I am hoping that there is some simple thing that I may have
>> overlooked.
>> Thanks,
>> Dave
>> On Sun, Feb 28, 2016 at 09:17:42PM -0500, David T. Lewis wrote:
>>> This was my attempt to attach the prior version history for Chronology
>>> to the
>>> new Chronology-Core and Chronology-Tests packages. It appears to break
>>> the update
>>> stream, so I will delete Chronology-Core-dtl.2 and
>>> Chronology-Tests-dtl.2 updates
>>> from the source.squeak.org repository.
>>> Hopefully no one has tried to update their trunk images during this
>>> unfortunate
>>> experiment.
>>> Sorry,
>>> Dave
>>> On Mon, Feb 29, 2016 at 02:05:19AM +0000, commits at source.squeak.org
>>> wrote:
>>> > David T. Lewis uploaded a new version of Chronology-Core to project
>>> The Trunk:
>>> > http://source.squeak.org/trunk/Chronology-Core-dtl.2.mcz
>>> >
>>> > ==================== Summary ====================
>>> >
>>> > Name: Chronology-Core-dtl.2
>>> > Author: dtl
>>> > Time: 28 February 2016, 8:24:12.86775 pm
>>> > UUID: 0dc832c9-bf4c-4559-a705-c19f44392089
>>> > Ancestors: Chronology-Core-dtl.1, Kernel-tfel.1001
>>> >
>>> > Re-save Chronology-Core-dtl.1 with Kernel-tfel.1001 added to ancestry
>>> to preserve version history from Kernel package.
>>> >
>>> > =============== Diff against Chronology-Core-dtl.1 ===============
>>> >

More information about the Squeak-dev mailing list