Editions and Versioning

In VisualAge for Java, whenever you work with any project, package, or class, you are actually working with a specific edition of that program element. At any time, you can only have one edition of each program element in the workspace. To see which editions are in the workspace, click the Show Edition Names man_onup.gif (1000 bytes) button.

tentergf.gif (577 bytes) You will usually work with open and versioned editions; occasionally, you may also create scratch editions of program elements to experiment with. You will periodically release editions of classes and packages that you have been working on, to provide a baseline for the team and to make your changes easily available to them. Editions, releasing, and ownership are all fundamental to managing application changes in the team environment. Editions are discussed below; releasing and ownership are discussed as separate topics.

Open Editions
Open editions are works in progress. Before you can make changes to an existing project, package, or class, you must create an open edition of it. You can have multiple open editions of the same program element, with each one implemented differently. For example, if you are adding features to an application that you have customized for different industries, you might have multiple open editions of a package with the same name.

Open editions appear in VisualAge for Java windows with a timestamp, in parentheses, showing when they were created. Here is an example:

PackageA (3/28/98 4:21:15 PM)

Versioned Editions
Versioned editions are editions that can not be changed. You version your open editions for the following reasons:

Versioned editions appear in VisualAge for Java windows with version names, as opposed to the timestamps that identify open editions. When you version an open edition of a program element, VisualAge for Java can automatically assign a name for you, or you can specify your own name. Here are some examples of versioned editions:

PackageA 1.6.1
PackageB VersionBRel2
PackageC JS - Fixed print problems for CustomerX

Versioning does not prevent you from ever changing a program element again. To make changes, create a new open edition of the program element. To revert to an earlier version, replace the edition in the workspace with a different edition from the repository, and create an open edition based on that.

You will probably version your classes frequently, whereas you may leave packages and projects open for extended periods of time.

tentergf.gif (577 bytes) In the team development environment, version control is achieved by means of releasing editions into a team baseline. Only program element owners can release. See the list of related topics at the end of this document for links to more information on ownership, baselines, or releasing.

tentergf.gif (577 bytes) Scratch Editions
Scratch editions are editions that no other users of the shared repository can see. Scratch editions appear in VisualAge for Java windows with < > around the edition name:

PackageA <1.0>

Scratch editions are discussed separately.

tentergf.gif (577 bytes) Undefined Editions
You may see a class or interface whose edition name is "undefined edition":

PackageA undefined edition

This means that someone has created a class or interface, but has never versioned or released it. VisualAge for Java has reserved the new program element's name in the shared repository. Such editions are also marked with the undefined shadund.gif (874 bytes) symbol.

tentergf.gif (577 bytes) Tools for Managing Your Editions
VisualAge for Java provides two tools for working with editions in a team development environment:

You can also view edition details, such as status and ownership, by selecting Properties from a program element's pop-up menu.


Projects and Other Program Elements
Workspace
Repository


Creating an Open Edition
Versioning a Program Element
Replacing Editions in the Workspace (Reloading)