logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

sccs.1p (12607B)


  1. '\" et
  2. .TH SCCS "1P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
  3. .\"
  4. .SH PROLOG
  5. This manual page is part of the POSIX Programmer's Manual.
  6. The Linux implementation of this interface may differ (consult
  7. the corresponding Linux manual page for details of Linux behavior),
  8. or the interface may not be implemented on Linux.
  9. .\"
  10. .SH NAME
  11. sccs
  12. \(em front end for the SCCS subsystem (\fBDEVELOPMENT\fP)
  13. .SH SYNOPSIS
  14. .LP
  15. .nf
  16. sccs \fB[\fR-r\fB] [\fR-d \fIpath\fB] [\fR-p \fIpath\fB] \fIcommand \fB[\fIoptions\fR...\fB] [\fIoperands\fR...\fB]\fR
  17. .fi
  18. .SH DESCRIPTION
  19. The
  20. .IR sccs
  21. utility is a front end to the SCCS programs. It also includes the
  22. capability to run set-user-id to another user to provide additional
  23. protection.
  24. .P
  25. The
  26. .IR sccs
  27. utility shall invoke the specified
  28. .IR command
  29. with the specified
  30. .IR options
  31. and
  32. .IR operands .
  33. By default, each of the
  34. .IR operands
  35. shall be modified by prefixing it with the string
  36. .BR \(dqSCCS/s.\(dq .
  37. .P
  38. The
  39. .IR command
  40. can be the name of one of the SCCS utilities in this volume of POSIX.1\(hy2017 (\c
  41. .IR admin ,
  42. .IR delta ,
  43. .IR get ,
  44. .IR prs ,
  45. .IR rmdel ,
  46. .IR sact ,
  47. .IR unget ,
  48. .IR val ,
  49. or
  50. .IR what )
  51. or one of the pseudo-utilities listed in the EXTENDED DESCRIPTION
  52. section.
  53. .SH OPTIONS
  54. The
  55. .IR sccs
  56. utility shall conform to the Base Definitions volume of POSIX.1\(hy2017,
  57. .IR "Section 12.2" ", " "Utility Syntax Guidelines",
  58. except that
  59. .IR options
  60. operands are actually options to be passed to the utility named by
  61. .IR command .
  62. When the portion of the command:
  63. .sp
  64. .RS 4
  65. .nf
  66. \fIcommand \fB[\fIoptions\fR ... \fB] [\fIoperands\fR ... \fB]\fR
  67. .fi
  68. .P
  69. .RE
  70. .P
  71. is considered, all of the pseudo-utilities used as
  72. .IR command
  73. shall support the Utility Syntax Guidelines. Any of the other SCCS
  74. utilities that can be invoked in this manner support the Guidelines to
  75. the extent indicated by their individual OPTIONS sections.
  76. .P
  77. The following options shall be supported preceding the
  78. .IR command
  79. operand:
  80. .IP "\fB\-d\ \fIpath\fR" 10
  81. A pathname of a directory to be used as a root directory for the SCCS
  82. files. The default shall be the current directory. The
  83. .BR \-d
  84. option shall take precedence over the
  85. .IR PROJECTDIR
  86. variable. See
  87. .BR \-p .
  88. .IP "\fB\-p\ \fIpath\fR" 10
  89. A pathname of a directory in which the SCCS files are located. The
  90. default shall be the
  91. .BR SCCS
  92. directory.
  93. .RS 10
  94. .P
  95. The
  96. .BR \-p
  97. option differs from the
  98. .BR \-d
  99. option in that the
  100. .BR \-d
  101. option-argument shall be prefixed to the entire pathname and the
  102. .BR \-p
  103. option-argument shall be inserted before the final component of the
  104. pathname. For example:
  105. .sp
  106. .RS 4
  107. .nf
  108. sccs -d /x -p y get a/b
  109. .fi
  110. .P
  111. .RE
  112. .P
  113. converts to:
  114. .sp
  115. .RS 4
  116. .nf
  117. get /x/a/y/s.b
  118. .fi
  119. .P
  120. .RE
  121. .P
  122. This allows the creation of aliases such as:
  123. .sp
  124. .RS 4
  125. .nf
  126. alias syssccs="sccs -d /usr/src"
  127. .fi
  128. .P
  129. .RE
  130. .P
  131. which is used as:
  132. .sp
  133. .RS 4
  134. .nf
  135. syssccs get cmd/who.c
  136. .fi
  137. .P
  138. .RE
  139. .RE
  140. .IP "\fB\-r\fP" 10
  141. Invoke
  142. .IR command
  143. with the real user ID of the process, not any effective user ID that
  144. the
  145. .IR sccs
  146. utility is set to. Certain commands (\c
  147. .IR admin ,
  148. .BR check ,
  149. .BR clean ,
  150. .BR diffs ,
  151. .BR info ,
  152. .IR rmdel ,
  153. and
  154. .BR tell )
  155. cannot be run set-user-ID by all users, since this would allow anyone
  156. to change the authorizations. These commands are always run as the
  157. real user.
  158. .SH OPERANDS
  159. The following operands shall be supported:
  160. .IP "\fIcommand\fR" 10
  161. An SCCS utility name or the name of one of the pseudo-utilities listed
  162. in the EXTENDED DESCRIPTION section.
  163. .IP "\fIoptions\fR" 10
  164. An option or option-argument to be passed to
  165. .IR command .
  166. .IP "\fIoperands\fR" 10
  167. An operand to be passed to
  168. .IR command .
  169. .SH STDIN
  170. See the utility description for the specified
  171. .IR command .
  172. .SH "INPUT FILES"
  173. See the utility description for the specified
  174. .IR command .
  175. .SH "ENVIRONMENT VARIABLES"
  176. The following environment variables shall affect the execution of
  177. .IR sccs :
  178. .IP "\fILANG\fP" 10
  179. Provide a default value for the internationalization variables that are
  180. unset or null. (See the Base Definitions volume of POSIX.1\(hy2017,
  181. .IR "Section 8.2" ", " "Internationalization Variables"
  182. for the precedence of internationalization variables used to determine
  183. the values of locale categories.)
  184. .IP "\fILC_ALL\fP" 10
  185. If set to a non-empty string value, override the values of all the
  186. other internationalization variables.
  187. .IP "\fILC_CTYPE\fP" 10
  188. Determine the locale for the interpretation of sequences of bytes of
  189. text data as characters (for example, single-byte as opposed to
  190. multi-byte characters in arguments and input files).
  191. .IP "\fILC_MESSAGES\fP" 10
  192. .br
  193. Determine the locale that should be used to affect the format and
  194. contents of diagnostic messages written to standard error.
  195. .IP "\fINLSPATH\fP" 10
  196. Determine the location of message catalogs for the processing of
  197. .IR LC_MESSAGES .
  198. .IP "\fIPROJECTDIR\fP" 10
  199. .br
  200. Provide a default value for the
  201. .BR \-d
  202. .IR path
  203. option. If the value of
  204. .IR PROJECTDIR
  205. begins with a
  206. <slash>,
  207. it shall be considered an absolute pathname; otherwise, the value of
  208. .IR PROJECTDIR
  209. is treated as a user name and that user's initial working directory
  210. shall be examined for a subdirectory
  211. .BR src
  212. or
  213. .BR source .
  214. If such a directory is found, it shall be used. Otherwise, the value
  215. shall be used as a relative pathname.
  216. .P
  217. Additional environment variable effects may be found in the utility
  218. description for the specified
  219. .IR command .
  220. .SH "ASYNCHRONOUS EVENTS"
  221. Default.
  222. .SH STDOUT
  223. See the utility description for the specified
  224. .IR command .
  225. .SH STDERR
  226. See the utility description for the specified
  227. .IR command .
  228. .SH "OUTPUT FILES"
  229. See the utility description for the specified
  230. .IR command .
  231. .SH "EXTENDED DESCRIPTION"
  232. The following pseudo-utilities shall be supported as
  233. .IR command
  234. operands. All options referred to in the following list are values
  235. given in the
  236. .IR options
  237. operands following
  238. .IR command .
  239. .IP "\fBcheck\fR" 8
  240. Equivalent to
  241. .BR info ,
  242. except that nothing shall be printed if nothing is being edited, and a
  243. non-zero exit status shall be returned if anything is being edited. The
  244. intent is to have this included in an ``install'' entry in a makefile
  245. to ensure that everything is included into the SCCS file before a
  246. version is installed.
  247. .IP "\fBclean\fR" 8
  248. Remove everything from the current directory that can be recreated from
  249. SCCS files, but do not remove any files being edited. If the
  250. .BR \-b
  251. option is given, branches shall be ignored in the determination of
  252. whether they are being edited; this is dangerous if branches are kept
  253. in the same directory.
  254. .IP "\fBcreate\fR" 8
  255. Create an SCCS file, taking the initial contents from the file of the
  256. same name. Any options to
  257. .IR admin
  258. are accepted. If the creation is successful, the original files shall
  259. be renamed by prefixing the basenames with a comma. These renamed files
  260. should be removed after it has been verified that the SCCS files have
  261. been created successfully.
  262. .IP "\fBdelget\fR" 8
  263. Perform a
  264. .IR delta
  265. on the named files and then
  266. .IR get
  267. new versions. The new versions shall have ID keywords expanded and
  268. shall not be editable. Any
  269. .BR \-m ,
  270. .BR \-p ,
  271. .BR \-r ,
  272. .BR \-s ,
  273. and
  274. .BR \-y
  275. options shall be passed to
  276. .IR delta ,
  277. and any
  278. .BR \-b ,
  279. .BR \-c ,
  280. .BR \-e ,
  281. .BR \-i ,
  282. .BR \-k ,
  283. .BR \-l ,
  284. .BR \-s ,
  285. and
  286. .BR \-x
  287. options shall be passed to
  288. .IR get .
  289. .IP "\fBdeledit\fR" 8
  290. Equivalent to
  291. .BR delget ,
  292. except that the
  293. .IR get
  294. phase shall include the
  295. .BR \-e
  296. option. This option is useful for making a checkpoint of the current
  297. editing phase. The same options shall be passed to
  298. .IR delta
  299. as described above, and all the options listed for
  300. .IR get
  301. above except
  302. .BR \-e
  303. shall be passed to
  304. .BR edit .
  305. .IP "\fBdiffs\fR" 8
  306. Write a difference listing between the current version of the files
  307. checked out for editing and the versions in SCCS format. Any
  308. .BR \-r ,
  309. .BR \-c ,
  310. .BR \-i ,
  311. .BR \-x ,
  312. and
  313. .BR \-t
  314. options shall be passed to
  315. .IR get ;
  316. any
  317. .BR \-l ,
  318. .BR \-s ,
  319. .BR \-e ,
  320. .BR \-f ,
  321. .BR \-h ,
  322. and
  323. .BR \-b
  324. options shall be passed to
  325. .IR diff .
  326. A
  327. .BR \-C
  328. option shall be passed to
  329. .IR diff
  330. as
  331. .BR \-c .
  332. .IP "\fBedit\fR" 8
  333. Equivalent to
  334. .IR get
  335. .BR \-e .
  336. .IP "\fBfix\fR" 8
  337. Remove the named delta, but leave a copy of the delta with the changes
  338. that were in it. It is useful for fixing small compiler bugs, and so
  339. on. The application shall ensure that it is followed by a
  340. .BR \-r
  341. .IR SID
  342. option. Since
  343. .BR fix
  344. does not leave audit trails, it should be used carefully.
  345. .IP "\fBinfo\fR" 8
  346. Write a listing of all files being edited. If the
  347. .BR \-b
  348. option is given, branches (that is, SIDs with two or fewer components)
  349. shall be ignored. If a
  350. .BR \-u
  351. .IR user
  352. option is given, then only files being edited by the named user shall
  353. be listed. A
  354. .BR \-U
  355. option shall be equivalent to
  356. .BR \-u <\c
  357. .IR "current\ user" >.
  358. .IP "\fBprint\fR" 8
  359. Write out verbose information about the named files, equivalent to
  360. .IR sccs
  361. .IR prs .
  362. .IP "\fBtell\fR" 8
  363. Write a
  364. <newline>-separated
  365. list of the files being edited to standard output. Takes the
  366. .BR \-b ,
  367. .BR \-u ,
  368. and
  369. .BR \-U
  370. options like
  371. .BR info
  372. and
  373. .BR check .
  374. .IP "\fBunedit\fR" 8
  375. This is the opposite of an
  376. .BR edit
  377. or a
  378. .IR get
  379. .BR \-e .
  380. It should be used with caution, since any changes made since the
  381. .IR get
  382. are lost.
  383. .br
  384. .SH "EXIT STATUS"
  385. The following exit values shall be returned:
  386. .IP "\00" 6
  387. Successful completion.
  388. .IP >0 6
  389. An error occurred.
  390. .SH "CONSEQUENCES OF ERRORS"
  391. Default.
  392. .LP
  393. .IR "The following sections are informative."
  394. .SH "APPLICATION USAGE"
  395. Many of the SCCS utilities take directory names as operands as well as
  396. specific filenames. The pseudo-utilities supported by
  397. .IR sccs
  398. are not described as having this capability, but are not prohibited
  399. from doing so.
  400. .SH EXAMPLES
  401. .IP " 1." 4
  402. To get a file for editing, edit it and produce a new delta:
  403. .RS 4
  404. .sp
  405. .RS 4
  406. .nf
  407. sccs get -e file.c
  408. ex file.c
  409. sccs delta file.c
  410. .fi
  411. .P
  412. .RE
  413. .RE
  414. .IP " 2." 4
  415. To get a file from another directory:
  416. .RS 4
  417. .sp
  418. .RS 4
  419. .nf
  420. sccs -p /usr/src/sccs/s. get cc.c
  421. .fi
  422. .P
  423. .RE
  424. .P
  425. or:
  426. .sp
  427. .RS 4
  428. .nf
  429. sccs get /usr/src/sccs/s.cc.c
  430. .fi
  431. .P
  432. .RE
  433. .RE
  434. .IP " 3." 4
  435. To make a delta of a large number of files in the current directory:
  436. .RS 4
  437. .sp
  438. .RS 4
  439. .nf
  440. sccs delta *.c
  441. .fi
  442. .P
  443. .RE
  444. .RE
  445. .IP " 4." 4
  446. To get a list of files being edited that are not on branches:
  447. .RS 4
  448. .sp
  449. .RS 4
  450. .nf
  451. sccs info -b
  452. .fi
  453. .P
  454. .RE
  455. .RE
  456. .IP " 5." 4
  457. To delta everything being edited by the current user:
  458. .RS 4
  459. .sp
  460. .RS 4
  461. .nf
  462. sccs delta $(sccs tell -U)
  463. .fi
  464. .P
  465. .RE
  466. .RE
  467. .IP " 6." 4
  468. In a makefile, to get source files from an SCCS file if it does not
  469. already exist:
  470. .RS 4
  471. .sp
  472. .RS 4
  473. .nf
  474. SRCS = <\fIlist of source files\fP>
  475. $(SRCS):
  476. sccs get $(REL) $@
  477. .fi
  478. .P
  479. .RE
  480. .RE
  481. .SH RATIONALE
  482. .IR sccs
  483. and its associated utilities are part of the XSI Development
  484. Utilities option within the XSI option.
  485. .P
  486. SCCS is an abbreviation for Source Code Control System. It is a
  487. maintenance and enhancement tracking tool. When a file is put under
  488. SCCS, the source code control system maintains the file and, when
  489. changes are made, identifies and stores them in the file with the
  490. original source code and/or documentation. As other changes are made,
  491. they too are identified and retained in the file.
  492. .P
  493. Retrieval of the original and any set of changes is possible. Any
  494. version of the file as it develops can be reconstructed for inspection
  495. or additional modification. History data can be stored with each
  496. version, documenting why the changes were made, who made them, and when
  497. they were made.
  498. .SH "FUTURE DIRECTIONS"
  499. None.
  500. .SH "SEE ALSO"
  501. .IR "\fIadmin\fR\^",
  502. .IR "\fIdelta\fR\^",
  503. .IR "\fIget\fR\^",
  504. .IR "\fImake\fR\^",
  505. .IR "\fIprs\fR\^",
  506. .IR "\fIrmdel\fR\^",
  507. .IR "\fIsact\fR\^",
  508. .IR "\fIunget\fR\^",
  509. .IR "\fIval\fR\^",
  510. .IR "\fIwhat\fR\^"
  511. .P
  512. The Base Definitions volume of POSIX.1\(hy2017,
  513. .IR "Chapter 8" ", " "Environment Variables",
  514. .IR "Section 12.2" ", " "Utility Syntax Guidelines"
  515. .\"
  516. .SH COPYRIGHT
  517. Portions of this text are reprinted and reproduced in electronic form
  518. from IEEE Std 1003.1-2017, Standard for Information Technology
  519. -- Portable Operating System Interface (POSIX), The Open Group Base
  520. Specifications Issue 7, 2018 Edition,
  521. Copyright (C) 2018 by the Institute of
  522. Electrical and Electronics Engineers, Inc and The Open Group.
  523. In the event of any discrepancy between this version and the original IEEE and
  524. The Open Group Standard, the original IEEE and The Open Group Standard
  525. is the referee document. The original Standard can be obtained online at
  526. http://www.opengroup.org/unix/online.html .
  527. .PP
  528. Any typographical or formatting errors that appear
  529. in this page are most likely
  530. to have been introduced during the conversion of the source files to
  531. man page format. To report such errors, see
  532. https://www.kernel.org/doc/man-pages/reporting_bugs.html .