FREEZEPOINTFILE(4)

NAME
freezepointfile - format of a freezepoint file

DESCRIPTION
A freezepoint file contains a list of source files and, for each source file, an identifier that corresponds to a specific version of that source file. The files listed in a freezepoint file are named relative to a source directory. The source directory used to create the freezepoint is listed in the freezepoint file before any file names. The source directory name is a fully qualified path name that begins with the "/" character. Lines in the freezepoint file that begin with the "#" character are ignored.

The first line of a freezepoint file contains the version identifier. The next few lines are a comment, followed by the source directory, followed by another comment, followed by the list of files and deltas, one file per line. For example:

VERSION 1
# Freezepoint File
#
# This freezepoint was created from the SCCS files located under
# the Source Directory:
/ws/alpha2/
#
# To use this freezepoint to extract the specified deltas for the files
# listed below you must have access to the above directory or some
# other directory that contains a copy of the same SCCS source hierarchy.
# The file names listed below are relative to the Source Directory.
#
# This file may be edited by hand and/or it may be freezeed in to SCCS.
# Lines that begin with a # anywhere in the file are ignored.
#
# Format:
# sfilename (prev SID) date time user hex hex hex hex hex hex hex hex
#
# First four hex's are the SCCS Mergeable Id of the root delta of the
# containing delta tree.
#
# Last four hex's are the SMID of the desired delta.
larryh f2b6e341 8ba736e0 b6298f8d 3904858e 4a0e9e1 bf4bd630
2529f08f f4f7b6f1

The format of each freezepoint entry (line) in a freezepoint file is fixed, however the order and number of these entries does not matter - each line is treated as a separate entity. The crucial information is the name and the eight hex numbers at the end of the line. The other information is included for the convenience of users who may use the grep utility or an editor to examine the contents of a freezepoint file.

Note that the SID is preceded by the string "previously". SCCS files that are merged by the SPARCworks/TeamWare Code Manager will sometimes have their SID's renumbered. In the above example, the delta that was named 1.12 when this freezepoint file was created, may now be named 1.12.1.1 and may be renamed again in the future. For this reason, the freezepoint extract command ignores the SID.

The eight hex numbers at the end of each freezepoint line represent two SCCS Mergeable Ids (SMIDs), each of which is comprised of four hex numbers. The first SMID identifies the root delta in the file history (usually delta 1.1), and the second SMID identifies the delta that was the default when the freezepoint file was created. It is the second SMID that is used by the FreezePoint extract command to get the desired version of the file from the source directory.

The root delta SMID is used to verify that the file found in the source is in fact the same file that was used to create this entry in the freezepoint. If the original file has been renamed or deleted, the desired delta cannot be extracted for this file.

  Finding Renamed Files

If you suspect that the file has been renamed or moved to some other location within the source directory, you can use a new freezepoint and the root delta SMID from the original freezepoint file to determine the new name of the missing file, or to verify that the file has been deleted from the source directory completely.

For example, suppose an old freezepoint file contains an entry like this:

usr/src/foo/include/pkg1/abc.h ......x1 x2 x3 x4  x5 x6 x7 x8

where x's represent the two SMIDS.

The source file usr/src/foo/include/pkg1/abc.h may not currently exist, or if it does exist, freezepoint extract may claim that it is not the same abc.h that was used to create the freezepoint file.

You can locate the renamed file (or determine that it was deleted) using the following procedure.

•   Create a new freezepoint file of the entire current source directory

•   Use the grep utility to search for the string "x1 x2 x3 x4" (the root delta SMID)

If the file that was called abc.h still exists in the current source directory, you will find its root delta SMID and current path name in the new freezepoint file.

usr/src/foo/include/pkg3/zzz.h ......x1 x2 x3 x4  x9 x10 x11 x12

SEE ALSO
freezept(1), freezepointtool(1), bringover(1), putback(1), resolve(1)