View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Code Merging

Team B.A.M.F. used a Yahoo! group as a communication tool and code repository. For groups using Yahoo! and similar systems, code merging can be a nightmare. VisualWorks will allow you to file in new versions of code over old versions, but with awkward results. This document describes my technique for merging versions.

Open VisualWorks. If not already loaded, file in the original code, or code with the least amount of changes.

Open a File Browser and find the new code you wish to merge with.

When you have found the new code, do not file it in. Instead, right-click the file icon and choose [Compare with System]

Uploaded Image: context_menu.jpg

A source comparison window will open showing a list of objects with different code. Select an object in the list to display the new code and code already on the system side by side. Any discrepancies will have red text. Radio buttons allow you to filter the type of objects available on the list. This way you filter the results to show only disparate classes or methods.

Uploaded Image: chang_set.jpg

Now, open a "Packages" window and browse to the target code. Copy relevant portions from the source comparison window to the actual code. Select [File]->[Display System Changes] to refresh the source comparison window.

Ecode will sometimes erroneously label classes as different when the only change is:
attributes: #(#(#package 'Ecode'))
This is inserted by Ecode and can be disregarded.

GL, Jay out

Links to this Page