Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ checkpointfile(5) — SPARCworks 2.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

checkpoint(1)

checkpointtool(1)

bringover(1)

putback(1)

resolve(1)

CHECKPOINTFILE(5)  —  FILE FORMATS

NAME

checkpointfile − format of a checkpoint file

DESCRIPTION

A checkpoint 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 checkpoint file are named relative to a source directory.  The source directory used to create the checkpoint is listed in the checkpoint file before any file names.  The source directory name is a fully qualified path name that begins with the "/" character.  Lines in the checkpoint file that begin with the "#" character are ignored. 

The first line of a checkpoint 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
# Checkpoint File
#
# This checkpoint was created from the SCCS files located under
# the Source Directory:
/ws/alpha2/
#
# To use this checkpoint 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 checked 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 checkpoint entry (line) in a checkpoint 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 checkpoint 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 checkpoint file was created, may now be named 1.12.1.1 and may be renamed again in the future.  For this reason, the checkpoint extract command ignores the SID. 

The eight hex numbers at the end of each checkpoint 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 checkpoint file was created.  It is the second SMID that is used by the CheckPoint 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 checkpoint.  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 checkpoint and the root delta SMID from the original checkpoint 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 checkpoint 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, checkpoint extract may claim that it is not the same abc.h that was used to create the checkpoint file. 

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

• Create a new checkpoint 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 checkpoint file. 


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

SEE ALSO

checkpoint(1), checkpointtool(1), bringover(1), putback(1), resolve(1)

Sun Release 4.1  —  Last change: 01 December 1992

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026