1SCCS(P) POSIX Programmer's Manual SCCS(P)
2
3
4
6 sccs - front end for the SCCS subsystem (DEVELOPMENT)
7
9 sccs [-r][-d path][-p path] command [options...][operands...]
10
12 The sccs utility is a front end to the SCCS programs. It also includes
13 the capability to run set-user-id to another user to provide additional
14 protection.
15
16 The sccs utility shall invoke the specified command with the specified
17 options and operands. By default, each of the operands shall be modi‐
18 fied by prefixing it with the string "SCCS/s." .
19
20 The command can be the name of one of the SCCS utilities in this volume
21 of IEEE Std 1003.1-2001 ( admin, delta, get, prs, rmdel, sact, unget,
22 val, or what) or one of the pseudo-utilities listed in the EXTENDED
23 DESCRIPTION section.
24
26 The sccs utility shall conform to the Base Definitions volume of
27 IEEE Std 1003.1-2001, Section 12.2, Utility Syntax Guidelines, except
28 that options operands are actually options to be passed to the utility
29 named by command. When the portion of the command:
30
31
32 command [options ... ] [operands ... ]
33
34 is considered, all of the pseudo-utilities used as command shall sup‐
35 port the Utility Syntax Guidelines. Any of the other SCCS utilities
36 that can be invoked in this manner support the Guidelines to the extent
37 indicated by their individual OPTIONS sections.
38
39 The following options shall be supported preceding the command operand:
40
41 -d path
42 A pathname of a directory to be used as a root directory for the
43 SCCS files. The default shall be the current directory. The -d
44 option shall take precedence over the PROJECTDIR variable. See
45 -p.
46
47 -p path
48 A pathname of a directory in which the SCCS files are located.
49 The default shall be the SCCS directory.
50
51 The -p option differs from the -d option in that the -d option-argument
52 shall be prefixed to the entire pathname and the -p option-argument
53 shall be inserted before the final component of the pathname. For exam‐
54 ple:
55
56
57 sccs -d /x -p y get a/b
58
59 converts to:
60
61
62 get /x/a/y/s.b
63
64 This allows the creation of aliases such as:
65
66
67 alias syssccs="sccs -d /usr/src"
68
69 which is used as:
70
71
72 syssccs get cmd/who.c
73
74 -r Invoke command with the real user ID of the process, not any
75 effective user ID that the sccs utility is set to. Certain com‐
76 mands ( admin, check, clean, diffs, info, rmdel, and tell) can‐
77 not be run set-user-ID by all users, since this would allow any‐
78 one to change the authorizations. These commands are always run
79 as the real user.
80
81
83 The following operands shall be supported:
84
85 command
86 An SCCS utility name or the name of one of the pseudo-utilities
87 listed in the EXTENDED DESCRIPTION section.
88
89 options
90 An option or option-argument to be passed to command.
91
92 operands
93 An operand to be passed to command.
94
95
97 See the utility description for the specified command.
98
100 See the utility description for the specified command.
101
103 The following environment variables shall affect the execution of sccs:
104
105 LANG Provide a default value for the internationalization variables
106 that are unset or null. (See the Base Definitions volume of
107 IEEE Std 1003.1-2001, Section 8.2, Internationalization Vari‐
108 ables for the precedence of internationalization variables used
109 to determine the values of locale categories.)
110
111 LC_ALL If set to a non-empty string value, override the values of all
112 the other internationalization variables.
113
114 LC_CTYPE
115 Determine the locale for the interpretation of sequences of
116 bytes of text data as characters (for example, single-byte as
117 opposed to multi-byte characters in arguments and input files).
118
119 LC_MESSAGES
120 Determine the locale that should be used to affect the format
121 and contents of diagnostic messages written to standard error.
122
123 NLSPATH
124 Determine the location of message catalogs for the processing of
125 LC_MESSAGES .
126
127 PROJECTDIR
128
129 Provide a default value for the -d path option. If the value of
130 PROJECTDIR begins with a slash, it shall be considered an abso‐
131 lute pathname; otherwise, the value of PROJECTDIR is treated as
132 a user name and that user's initial working directory shall be
133 examined for a subdirectory src or source. If such a directory
134 is found, it shall be used. Otherwise, the value shall be used
135 as a relative pathname.
136
137
138 Additional environment variable effects may be found in the utility
139 description for the specified command.
140
142 Default.
143
145 See the utility description for the specified command.
146
148 See the utility description for the specified command.
149
151 See the utility description for the specified command.
152
154 The following pseudo-utilities shall be supported as command operands.
155 All options referred to in the following list are values given in the
156 options operands following command.
157
158 check Equivalent to info, except that nothing shall be printed if
159 nothing is being edited, and a non-zero exit status shall be
160 returned if anything is being edited. The intent is to have this
161 included in an "install" entry in a makefile to ensure that
162 everything is included into the SCCS file before a version is
163 installed.
164
165 clean Remove everything from the current directory that can be recre‐
166 ated from SCCS files, but do not remove any files being edited.
167 If the -b option is given, branches shall be ignored in the
168 determination of whether they are being edited; this is danger‐
169 ous if branches are kept in the same directory.
170
171 create Create an SCCS file, taking the initial contents from the file
172 of the same name. Any options to admin are accepted. If the cre‐
173 ation is successful, the original files shall be renamed by pre‐
174 fixing the basenames with a comma. These renamed files should be
175 removed after it has been verified that the SCCS files have been
176 created successfully.
177
178 delget Perform a delta on the named files and then get new versions.
179 The new versions shall have ID keywords expanded and shall not
180 be editable. Any -m, -p, -r, -s, and -y options shall be passed
181 to delta, and any -b, -c, -e, -i, -k, -l, -s, and -x options
182 shall be passed to get.
183
184 deledit
185 Equivalent to delget, except that the get phase shall include
186 the -e option. This option is useful for making a checkpoint of
187 the current editing phase. The same options shall be passed to
188 delta as described above, and all the options listed for get
189 above except -e shall be passed to edit.
190
191 diffs Write a difference listing between the current version of the
192 files checked out for editing and the versions in SCCS format.
193 Any -r, -c, -i, -x, and -t options shall be passed to get; any
194 -l, -s, -e, -f, -h, and -b options shall be passed to diff. A -C
195 option shall be passed to diff as -c.
196
197 edit Equivalent to get -e.
198
199 fix Remove the named delta, but leave a copy of the delta with the
200 changes that were in it. It is useful for fixing small compiler
201 bugs, and so on. The application shall ensure that it is fol‐
202 lowed by a -r SID option. Since fix does not leave audit trails,
203 it should be used carefully.
204
205 info Write a listing of all files being edited. If the -b option is
206 given, branches (that is, SIDs with two or fewer components)
207 shall be ignored. If a -u user option is given, then only files
208 being edited by the named user shall be listed. A -U option
209 shall be equivalent to -u< current user>.
210
211 print Write out verbose information about the named files, equivalent
212 to sccs prs.
213
214 tell Write a <newline>-separated list of the files being edited to
215 standard output. Takes the -b, -u, and -U options like info and
216 check.
217
218 unedit This is the opposite of an edit or a get -e. It should be used
219 with caution, since any changes made since the get are lost.
220
221
223 The following exit values shall be returned:
224
225 0 Successful completion.
226
227 >0 An error occurred.
228
229
231 Default.
232
233 The following sections are informative.
234
236 Many of the SCCS utilities take directory names as operands as well as
237 specific filenames. The pseudo-utilities supported by sccs are not
238 described as having this capability, but are not prohibited from doing
239 so.
240
242 1. To get a file for editing, edit it and produce a new delta:
243
244
245 sccs get -e file.c
246 ex file.c
247 sccs delta file.c
248
249 2. To get a file from another directory:
250
251
252 sccs -p /usr/src/sccs/s. get cc.c
253
254 or:
255
256
257 sccs get /usr/src/sccs/s.cc.c
258
259 3. To make a delta of a large number of files in the current direc‐
260 tory:
261
262
263 sccs delta *.c
264
265 4. To get a list of files being edited that are not on branches:
266
267
268 sccs info -b
269
270 5. To delta everything being edited by the current user:
271
272
273 sccs delta $(sccs tell -U)
274
275 6. In a makefile, to get source files from an SCCS file if it does not
276 already exist:
277
278
279 SRCS = <list of source files>
280 $(SRCS):
281 sccs get $(REL) $@
282
284 SCCS and its associated utilities are part of the XSI Development Util‐
285 ities option within the XSI extension.
286
287 SCCS is an abbreviation for Source Code Control System. It is a mainte‐
288 nance and enhancement tracking tool. When a file is put under SCCS, the
289 source code control system maintains the file and, when changes are
290 made, identifies and stores them in the file with the original source
291 code and/or documentation. As other changes are made, they too are
292 identified and retained in the file.
293
294 Retrieval of the original and any set of changes is possible. Any ver‐
295 sion of the file as it develops can be reconstructed for inspection or
296 additional modification. History data can be stored with each version,
297 documenting why the changes were made, who made them, and when they
298 were made.
299
301 None.
302
304 admin , delta , get , make , prs , rmdel , sact , unget , val , what
305
307 Portions of this text are reprinted and reproduced in electronic form
308 from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
309 -- Portable Operating System Interface (POSIX), The Open Group Base
310 Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
311 Electrical and Electronics Engineers, Inc and The Open Group. In the
312 event of any discrepancy between this version and the original IEEE and
313 The Open Group Standard, the original IEEE and The Open Group Standard
314 is the referee document. The original Standard can be obtained online
315 at http://www.opengroup.org/unix/online.html .
316
317
318
319IEEE/The Open Group 2003 SCCS(P)