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.
Dave