[Newbies] how do I get a change lost from all change sets back into a valid change set?

David T. Lewis lewis at mail.msen.com
Thu Nov 20 11:21:43 UTC 2008

On Wed, Nov 19, 2008 at 05:15:00PM -0500, Greg A. Woods; Planix, Inc. wrote:
> How do I get a change lost from all change sets back into a valid  
> change set?  I made a change in a method in an existing system class,  
> but the change was done in a project and so showed up initially in the  
> project's change set and somehow in messing around relearning how to  
> use the change set sorter and the versions browser I managed to remove  
> the change from the project change set and now it doesn't appear in  
> any change set.  The versions button when viewing the method still  
> shows the changes though.

One simple way to do this is to look at the versions of your method
(versions button on a browser), then revert to an earlier version and
revert back. The method and its change history should now be in your
current change set. Use a dual change sorter to move it or copy it
between projects.

> Also, how would I view a diff in "reverse" -- or in other words how  
> might I show the diff between the current and original?  The versions  
> browser seems to show things backwards to what I would consider to be  
> intuitive.  (oh, and the "compare to version..." menu gives me a debug  
> box)

I don't know where "compare to version..." if coming from (I'm looking
at an earlier version of Squeak as I write), but this sounds like a bug.
I use a "compare to current" button on a versions browser to look at
the difference between an older version and the current version, or
when using Monticello, this feature is available in lots of places.

> Also how do I _really_ remove intermediate changes from the versions  
> of a method?  I don't want all my intermediate changes to be kept any  
> more -- just the original and my final version.  The "remove from  
> changes" menu doesn't do what I thought it would (which is probably  
> how I made the whole set of versions for the method disappear entirely  
> from the one and only change set it appeared in)

You will probably find that Monticello does change management in a
way that is closer to your expectations (open a Monticello browser from
the world menu). That said, here is one possible answer to your question:

Make a change set with with the classes and methods that you are interested
in. Add a preamble to document it. Save the change set (file out), then
file it in to a clean image. The intermediate changes will be gone in
the new image.  This may seem awkward, bot note that for any non-trivial
changes that you intend to distribute to someone else, you will want to
test your changes in a clean image to verify that it is complete and
problem free.


More information about the Beginners mailing list