Sun WorkShop TeamWare 2.1 User's Guide

Chapter 15 Preserving Project State With Freezepointing

This chapter discusses how Freezepointing can help you preserve snapshots of your work, and the process of recreating those key points. The chapter contains the following sections:

Introduction to Freezepointing

During the software development process it is often useful to create "freezepoints" of your work at key points. Those freezepoints serve as snapshots of a project that enable you to later recreate the state of the project at key development points.

One way to preserve the state of the project is to make a copy of the project hierarchy using the tar or cpio utilities. This method is very effective, but it requires a large amount of storage resources and time.

With Freezepointing, you preserve freezepoints quickly and simply, using a small amount of storage resource.

You can use Freezepointing through two functionally equivalent user interfaces. You can access the user interfaces with the following commands:

This chapter refers primarily to the GUI. For information about the CLI, see the freezept(1) man page. The GUI is documented online. You can access the online help from any TeamWare GUI by opening the pull-down menu from the Help button, and clicking on Help Contents.

How Freezepointing Works

Freezepointing enables you to create freezepoint files from Configuring workspaces.


Note -

Nonworkspace directory hierarchies that contain SCCS history files can also be preserved using Freezepointing. Freezepointing issues a warning if the directory is not a workspace.


At a later time you can use the freezepoint files to recreate the directory hierarchies contained in the workspaces.


Note -

Freezepointing gives you the option of recreating a workspace containing the SCCS histories for all extracted files. Alternatively, you may choose to extract the derived files only; that is, retrieve the default delta using the SCCS get command with no options. In this case, SCCS histories are not recreated and TeamWare does not create a workspace.


Freezepoint Files

A freezepoint file is a text file that lists the default deltas from the SCCS history files contained in the workspace hierarchy being preserved. When you later recreate the hierarchy, Freezepointing uses those entries as pointers back to the original history files and to the delta that was the default at the time the freezepoint file was created.

The deltas are not identified by their standard SCCS delta ID (SID). Instead, a new means of identification called an SCCS Mergeable ID (SMID) is used. Using the SMID enables Freezepointing to work properly with files in which SIDS have been renumbered as part of a Configuring Bringover Update transaction. For more information, see Appendix A, About SCCS Mergeable IDs."

The freezepoint file contains the following information:

The following example shows three entries from a freezepoint file.


filemerge.1 (previously 1.5) 92/03/19 14:09:08 jon a6f4fe81 89b4632b 418e7950 5510740e cf9ab4e1 95627c33 2287acc3 b9e0877e
putback.1 (previously 1.40)92/06/02 16:36:16 george 5b791c60 2b827cfd f0cc9a73 46ac975 24d9b3ec f87d1975 9ea59e0d 72ce2a4d
resolve.1 (previously 1.19) 92/06/10 16:38:07 paul f21fa6e6 668bf818 e4964f36 240d825c f1d3f57 8cc4c31c 9f53029f 8aaf3db1

You can view the contents of a freezepoint file using a standard text editor.

Creation

When you create a freezepoint file, you specify directories and files to Freezepointing in the Directories and Files pane of the Freezepointing window (see Figure 15-1). Freezepointing recursively descends the directory hierarchies and identifies the most recently checked-in deltas in each SCCS history file. Freezepointing then creates a freezepoint file that consists of a list of those files and unique numerical identifiers for each delta.

Extraction

You can later use Freezepointing to recreate the source hierarchy. You specify the name of the freezepoint file, the path name of the directory hierarchy from which the deltas are to be extracted (if different from the hierarchy from which it was derived), and the directory where you want the source hierarchy recreated.

The extract operation consists of creating a new directory hierarchy based on the information contained in the freezepoint file. The new hierarchy is comprised of g-files defined by the default deltas in the original SCCS history files; the history files themselves are not recreated unless you ask FreezePointing to create a workspace while performing the extraction. Deltas are extracted from SCCS history files located in the original source workspace.

Source Workspace

The source workspace is the directory hierarchy that contains the SCCS history files from which the freezepoint file is created. Usually, the source workspace is also the directory hierarchy from which g-files are later extracted to recreate the hierarchy.


Note -

You can specify an alternate source directory at the time you perform the extract operation.


Destination Directory

The destination directory is the top-level directory into which the files listed in the freezepoint file are extracted. You specify the path name of this directory in the Extract pane of the Freezepointing window.

Starting Freezepointing

You can start Freezepointing by:

The Freezepointing window opens in Creation mode (see Figure 15-1).

Figure 15-1 Freezepointing Window in Creation Mode

Graphic

File menu 

Provides a command to exit Freezepointing 

View menu 

Provides the Show Output command 

TeamWare menu 

Provides commands for starting other TeamWare tools 

Category list box 

Lets you switch between the Creation and Extraction panes of the Freezepointing window 

Update Freezepoint File checkbox 

Lets you choose to update an existing freezepoint file rather than create a new one 

Use Default Workspace checkbox 

Lets you use the workspace named in the freezepoint file 

Freezepoint File text box 

Lets you type the absolute path name of the freezepoint file 

Workspace text box 

Lets you specify the source workspace.  

Directories and Files pane 

Contains a list of files and directories that will be preserved in the freezepoint file 

Add Files button 

Opens the Add Files dialog box, where you can select files to add to the Directories and Files pane 

Load Entire Directory button 

Loads the entire workspace directory 

Select All 

Selects all the files and directories listed in the pane 

Deselect All 

Deselects all the files and directories listed in the pane 

Delete  

Deletes the selected items from the pane 

Creating a Freezepoint File

To create a Freezepoint file:

  1. Select Creation from the Category list box.

    The Creation pane is displayed.

  2. If you want to update an existing Freezepoint file, select the Update Freezepoint File checkbox.

    The Use Default Workspace checkbox is enabled.

  3. To freezepoint the workspace named in the existing Freezepoint File, select the Use Default Workspace checkbox.

  4. To create a new Freezepoint file, type the name for the new file in the Freezepoint File text box.

    When you start Freezepointing, the Freezepoint File text box is automatically set to contain the file freezepoint.out appended to the path name of the directory from which Freezepointing was started. Delete freezepoint.out and type the path name of your freezepoint file in the Freezepoint File text box.

    Path names that are not absolute are assumed to be relative to the directory in which Freezepointing is started.

  5. Type the name of the source workspace in the Workspace text box.

    When you start Freezepointing, the Workspace text box is automatically set to the workspace you have specified through the CODEMGR_WS environment variable. If the variable is not set, and the directory from which Freezepointing is started is hierarchically within a workspace, the Workspace text box is initialized with the path name of that workspace.

  6. Create a list of the directories and files that you wish to preserve in the Directories and Files pane.

    • You can use the Add Files dialog box to conveniently add directories and files to the Directories and Files pane. Open the Add Files dialog box by clicking Add Files.

      • You can select entire groups of files by clicking and holding the left mouse button in an empty portion of the dialog box and dragging the bounding box to surround any number of icons. When you release the button, all the files within the bounding box are selected.

      • Select files and directories by moving the pointer over any file or directory icon and clicking. You can extend the selection to include any number of additional files and directories by moving the pointer over them and clicking the middle mouse button.

      • You can also type the path name of a directory or file into the Name text box.

      • Click Add Files to List to add the file(s) to the Directory and Files pane.

    • The Load Entire Directory button inserts the "./" characters into the Directories and Files pane indicating that the entire workspace hierarchy be recursively preserved.

  7. Type an optional comment in the Comments text pane.

    The comment is stored in the freezepoint file for future reference.

  8. Select the Create/Update button to create the freezepoint file.

    A counter on the bottom left corner of the Freezepointing window displays the progress of the freezepoint operation.


    Note -

    Use the Delete button to delete selections from the Directories and Files pane. Use the Select All and Delete All buttons to select or delete large numbers of directories and files.


Recreating (Extracting) a Source Hierarchy

To extract a new source hierarchy described by a freezepoint file:

  1. Select Extraction from the Category list box.

    The Extraction pane is displayed (see Figure 15-2).

  2. Type the path name of your freezepoint file in the Freezepointing File text box.

    Path names that are not absolute are assumed to be relative to the directory in which Freezepointing is started.

  3. Select the Full Extract radio button or the Partial Extract radio button.

    Full Extract extracts the complete set of frozen files. Partial Extract extracts a subset that you identify.

    You must choose either a full or partial extract whether or not you choose to create a workspace.

  4. Select the Create Workspace checkbox if you want to create a workspace that contains the SCCS histories of the frozen files.

  5. Select one of the three Extract FreezePoint Sources radio buttons to specify the source workspace.

    • The Use default from freezepoint files radio button uses the path name of the source workspace as it is in the freezepoint file.

    • The You specify radio button lets you type a workspace path name.

    • The Show default radio button displays the path name of the source workspace in the Workspace text box.

      If you wish to specify a source workspace hierarchy other than the one contained in the freezepoint file, select the You specify radio button and type the path name of the alternate source workspace in the Workspace text box.

  6. Type the path name of the directory in which you want the new (extracted) hierarchy to be located in the Destination Directory text box.

    Path names that are not absolute are assumed to be relative to the directory in which Freezepointing is started.

    The destination directory that you specify can be new or existing. If you extract the hierarchy to an existing directory, you receive a warning message and must confirm the operation.

  7. Click the Extract button to begin the extraction.

    If you selected Partial Extract, Freezepointing opens a dialog box listing the source files in the freezepoint file. Select the files you want to extract.

    Clicking the Extract button causes a series of sccs get operations to be performed on the source files listed in the freezepoint file. The version of each file extracted is the version specified by the SMID in the freezepoint file. The extracted g-files are written to destination directory. If you have selected Create Workspace, SCCS histories are also written to the destination directory.

A counter on the bottom left corner of the Freezepointing window displays the progress of the extract operation


Note -

If, during an extraction, Freezepointing cannot locate a file that has been renamed or deleted, the extraction is aborted and the offending entry is named. You must edit the freezepoint file to remove the entry. Refer to the freezepointfile(4) man page for information that enables you to determine the new name of a renamed file.


Figure 15-2 Freezepointing Window in Extraction Mode

Graphic

File menu 

Provides a command to exit Freezepointing 

View menu 

Provides the Show Output command 

TeamWare menu 

Provides commands for starting other TeamWare tools 

Category list box 

Lets you switch between the Creation and Extraction panes of the Freezepointing window 

Full Extract radio button 

Lets you extract the complete set of frozen files 

Partial Extract radio button 

Lets you extract a subset of the frozen files 

Create Workspace checkbox 

Lets you create a TeamWare workspace from the freezepoint file 

Freezepoint File text box 

Lets you type the absolute path name of the freezepoint file 

Workspace text box 

Lets you specify the source workspace 

Extract Freezepoint radio buttons 

Use default from freezepoint file: 

You Select: 

Show default: 

Uses the path name of the source workspace 

 

Lets you type a workspace path name 

Uses the path name of the source workspace 

Destination Directory text box 

Leta you specify the path name of the directory in which you want the new hierarchy to be located