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:
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:
twfreeze--for the GUI
freezept--for the CLI
Freezepointing is a companion tool to the Configuring tool. Therefore, Freezepointing assumes that you are creating freezepoints of Configuring workspace hierarchies. You can also use Freezepointing to preserve nonworkspace directories that contain SCCS files. If you specify a directory that is not a workspace, a cautionary warning is issued.
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.
Freezepointing enables you to create freezepoint files from Configuring workspaces.
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.
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.
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 path name of the workspace from which the list of deltas was created
The date and time that the file was created
The login name of the user who created the freezepoint
A group of hex digits that identifies the most recent SCCS deltas found in each file's corresponding SCCS history file
A group of hex digits that identifies the root delta in each file's corresponding SCCS history file
An optional user-supplied comment
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.
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.
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.
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.
You can specify an alternate source directory at the time you perform the extract operation.
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.
You can start Freezepointing by:
Typing twfreeze at a shell command prompt, followed by the ampersand symbol (&)
Choosing TeamWare > Freezepointing in the Configuring, Merging, or Versioning window
The Freezepointing window opens in Creation mode (see Figure 15-1).
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 |
To create a Freezepoint file:
Select Creation from the Category list box.
The Creation pane is displayed.
If you want to update an existing Freezepoint file, select the Update Freezepoint File checkbox.
The Use Default Workspace checkbox is enabled.
To freezepoint the workspace named in the existing Freezepoint File, select the Use Default Workspace checkbox.
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.
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.
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.
Type an optional comment in the Comments text pane.
The comment is stored in the freezepoint file for future reference.
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.
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.
To extract a new source hierarchy described by a freezepoint file:
Select Extraction from the Category list box.
The Extraction pane is displayed (see Figure 15-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.
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.
Select the Create Workspace checkbox if you want to create a workspace that contains the SCCS histories of the frozen files.
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.
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.
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
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.
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 |