PAGEFLOP
FORWARD
SELECTOR
SELAGAIN
WRONGSEL
YOUR SELECTION IS NOT IN THE 0 - #SELIMIT RANGE Please Try Again
P0
Project Development|SCCS Topics|8-2.1.0|10,40
# Topic
--- -------
1 - Virtues
2 - Version Numbering
3 - Basic Commands
4 - Keywords
5 - The SCCS Process
6 - Versions and Branches
7 - SCCS Review
0 - Return to the Project Development Menu
TOPIC1
Project Development|Virtues|8-2.1.1|11,54
SCCS is a system for controlling text files that
go through many revisions.
These files typically include:
* program source code,
* documentation,
* contracts,
* sales literature, or
* any other changing text files.
P2
Project Development|Virtues|8-2.1.2|9,60
The virtues of SCCS:
* It requires less space than keeping multiple copies.
* It is simpler to control than keeping multiple copies.
* It keeps a history of file modifications.
* It allows you to control access to files.
* Anyone can make an SCCS file.
* Basic commands are simple.
* For more sophisticated needs, each command has many options.
P3
Project Development|Virtues|8-2.1.3|14,54
SCCS has a facility to reconstruct any previous
version of a file.
SCCS has a facility to maintain multiple versions
of files for design, production, and testing.
SCCS gives you the ability to branch for fixing
previous versions of files.
SCCS is space efficient. You can keep 20 versions
of a file in the space it takes to keep 2.
P4
Project Development|Version Numbering|8-2.2.1|11,54
The update process has a tree-like structure.
Normally each version of a file is represented
with two parts (the trunk of the tree):
* release.level
A file can have four optional parts (branching
structure):
* release.level.branch.sequence
TOPIC3
P5
Project Development|Basic Commands|8-2.3.1|13,69
admin - initiates/administers SCCS process files
get - retrieves a certain version of encoded SCCS file
delta - administers change or adds new version into encoded file
prs - prints an encoded file
sccsdiff - prints the differences between various SCCS file versions
rmdel - removes a specific delta from the SCCS file
comb - combines two or more consecutive deltas
P6
Project Development|Basic Commands|8-2.3.2|13,54
Command Line Options for the sccs command include:
-iname text of initial version
-tfile descriptive text
-rrelease initial release (with -i)
-auser authorize to make deltas
-euser remove user authorization
-fb allow branching
-rversion version to get/create
-e for editing
-p pipe (to standard output)
-m put version on extracted lines
-k suppress keyword expansion
P7
Project Development|Basic Commands|8-2.3.3|10,54
The command to print the status of the file
s.chpt12 is:
get -p -k s.chpt12 | diff - doc
The command to determine what was added in version
1.6 of the file s.chpt12 is:
get -m -p s.chpt12 | grep 1.6
P8
Project Development|Basic Commands|8-2.3.4|18,54
get -e updates 'p-file': p.chpt12
P_FILE contains the following information on the
delta in progress:
* SID (SCCS id. string) of the retrieved version
* the SID that will be given to the new delta when
it is created
* the login name of the real user executing get
get locks the source SCCS file, thus it prevents
editing conflicts.
When using get, keywords are not expanded.
get produces a writable file.
P9
Project Development|Basic Commands|8-2.3.5| 15,54
The file must have been checked out with get -e.
Delta prompts for comments to be stored with
the version.
The available flags for the delta command are:
-p print differences
-s suppress statistics
-r<VERSION> if checked out twice
-n keep edited file
-y<HISTORY> short comment
-m<MRS> if -v flag only
-g<LIST> ignored delta list
P10
Project Development|Basic Commands|8-2.3.6| 7,54
To print information about an SCCS file you can
use the following options with the prs command:
-r this release only
-e earlier releases also
-l later releases also
-d output format specification
P11
Project Development|Keywords|8-2.4.1|16,54
Keywords are useful for keeping the version of an
update, the date of an update, and the release level.
Keywords are typically specified in the file as
character string constants.
Some of the SCCS keywords are:
%M% - module name
%R% - release
%I% - SID = %R%,%L%,%B%,%S%
%D% - current date (yr/mo/dy)
%Z% - the four characters @(#)
%W% - %Z%%M%<tab> %I%
P12
Project Development|The SCCS Process|8-2.5.1|18,54
The SCCS process begins when you create an SCCS
file. The following will create an SCCS file for the
file chap12:
$admin -ichap12 s.chap12
no id keywords (cm7)
rm chap12
The following will obtain a READ ONLY copy:
$get s.chpt12 (COPY IF READ-ONLY)
1.1
950 lines
no id keywords (cm7)
You can find out what an error means with:
$help cm7
P13
Project Development|The SCCS Process|8-2.5.2|16,54
If the SCCS file s.chapt7 contains:
char *fid = "%M% - %W% - C.T.I.";
then a get (WITHOUT -e OR -k) produces:
char *fid = "@(#)chapt7 2.5 - 11/13/89 - C.T.I.";
what searches a file for "@(#)" and prints the
string following these characters up to a new line,
*/, or >(. For example:
$ what chapt7
will produce: chapt7 2.5 - 11/13/89 - C.T.I.
P14
Project Development|The SCCS Process|8-2.5.4|13,54
Recover your file to make a new version with:
$ get -e s.chpt12
1.1
950 lines
...EDIT...
$ delta s.chpt12
1.2
17 inserted
9 deleted
925 unchanged
P15
Project Development|The SCCS Process|8-2.5.5|13,54
You can print information about a file with:
$ prs s.chpt12
You can obtain a particular version with:
$ get -r1.4.2.1 s.chpt12
You can find differences between versions with:
$ sccsdiff -r1.1 -r1.4.2.1 s.chpt12
P16
Project Development|Versions and Branches|8-2.6.1| 16,40
To create the tree branches:
1.1 -> 1.2 -> 1.3 -> 2.1 -> 2.2
Assume the -b flag and enter:
$ admin -fb s.chpt12
$ get -e -r2.1 s.chpt12
$ delta s.chpt12
This will create 2.1.1.1, a branch
You can form arbitrary trees.