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.
Dave
Seems like Adopt should work...
On Sun, Feb 28, 2016 at 8:32 PM, David T. Lewis lewis@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@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 ===============