CS 535 Object-Oriented Programming Spring Semester, 2003 Some Code Management |
||
---|---|---|
© 2003, All Rights Reserved, SDSU & Roger Whitney San Diego State University -- This page last updated 27-Feb-03 |
VisualWorks Application Developer Guide, doc/vwadg.pdf in the VisualWorks installation. Chapter 8 Managing Smalltalk Code
Change File – Change List Browser
Smalltalk records all changes you make in the .cha file
You can
In the Change List browser select the “Recover Last Changes” item from the “File” menu.
A dialog window will show you a list of dates & times the image has been saved. You can select how far back you wish to view the changes.
Once you have done that you can view the changes. They are listed in the upper left pane of the change list browser. You can also filter which changes you view. You can scroll to find methods of interest. You can use the “Find” menu help find methods & classes of interest. Below I found the method testRotate and clicked on “selector” to the right, which limits the view to the changes to the method. By deselecting “selector” I get the original list of changes. Items in the “Replay” menu can be used replay a version of a method.
You can see the difference between the version of the method selected and the current version. In the Change List browser’s “Show” menu select the “Show Conflicts” item.
When you do this the lower text pane splits in two. On showing the version you selected, the other showing current version of the method. Differences are highlighted in color.
Local Changes – Change Sets
There are times when you may wish to keep separate list of changes. For example you may want a list of changes related to assignment 4. We will see several reasons for doing this soon. You can do this in a change set, which just keeps a list of selected changes for you. Changes sets do not affect the .cha file in any way. All changes are still saved to the .cha file. Change sets just allow you to have a list of changes related to a particular project.
To create a new change set the “Change Sets” item in the “Changes” submenu of the “System” menu of the launcher.
This opens up the Change Sets window. Now select the “Add..” item in the “ChangeSet” menu in the Change Sets window.
You will get a dialog window. In the window give your change set a name.
After you click “OK” your change set will be created. Make sure that change set you created is selected in the Change Set window. This makes it the current changes set. All new methods and changes to existing methods will be recorded in the change set. The changes are also stored in the .cha file.
Viewing the contents of a Change Set
There are several ways to view the contents of a change set. One is to select the “Browse..” item of the “ChangeSet” menu in the Change Set window. This opens a standard browser on the changes. You can also select the “Edit..” item of the “ChangeSet” menu in the Change Set window. This opens a “Change Set Editor, which allows you to move items between change sets. Sometimes one forgets and methods get added to the wrong change set.
An historical reason to Use Change Sets
Note that you can file out a change set and file in a change set. This allows you to work on assignment 4 at home, file out the change set (a small file) and bring the change set to school or work. Once there you can file in the change set and have the code you were working on without having to bring the entire image. Note people use parcels and packages for this now.
Parcels & Packages
Parcels and packages allow you to group Smalltalk code
A parcel can contain
Parcel verses Package
A Package is basically the format for a parcel so it can be stored in a version control system
VisualWorks version control system is called Store
Store
Why do we need Parcels?
Case 1 Add a method foo to the String class
Create a program that uses foo
Send program code to a user, but forget to send foo
User complains that program does not work
Case 2
Modify an existing method in String class
Create a program that uses the modified method
Send the program to someone else
User loads the program, tries it, then removes your classes
Modified method in String class still exists in their image
How to create a Parcel
Open a System Browser. Select the “Parcel” item in the “Browser” menu in a System Browser. The browser will now show the Parcel view of the code.
Select the “New..” item in the “Parcel” menu of the System Browser. This menu only exists in the Parcel view.
You will get dialog window asking for the name of the parcel. Below is the Parcel view after adding a parcel called CS535. The left most pane is a list of the parcels.
Standard Operating Procedure
One common problem among beginners is adding methods to existing classes and forgetting to ship those methods with the rest of your code. One way to avoid doing this is to use change sets. Say you are working on assignment 5. Create a change set called Assignment5Changes and create a parcel for your code. Now add all your methods. When done you can add your change set to the parcel. Select the parcel in the browser. Select the “Add Changes” item in the “Build” submenu of the Parcel menu in the browser. This will add all methods in the change set to the Parcel. Once you have done that you can save your parcel in a separate file by using the “Save” item in the Parcel menu in the browser.
Copyright ©, All rights reserved.
2003 SDSU & Roger Whitney, 5500 Campanile Drive, San Diego, CA 92182-7700 USA.
OpenContent license defines the copyright on this document.
Previous    visitors since 27-Feb-03