sccs-cdc(1)
π¦ sccs-cdc(1) π¦
okay bestie, welcome to the sccs-cdc(1) page β this is the little tool that lives in your terminal and rewrites the commentary on an SCCS delta. it does not touch your code. it does not touch your deltas. it just β¨ annotates β¨. iykyk.
πΈ NAME πΈ
sccs-cdc,cdcβ change the delta commentary of an SCCS delta π
β¨ SYNOPSIS β¨
/usr/ccs/bin/cdc -rsid [-mmr-list] [-q[nsedelim]]
[-y[comment]] [-z]
[-Xextended-options] [-Nbulk-spec] s.filename...
π DESCRIPTION π
so cdc annotates the delta commentary for the SCCS delta ID (SID) that you picked with the -r option, in each and every s.file you name. that's the whole vibe.
if the v flag is set in the s.file, you can also use cdc to update the Modification Request (MR) list. π
permission check, bestie: you can use cdc to annotate the commentary if you checked in the delta, or if you own the file and the directory and have write permission. that's the whole bouncer situation.
the way this works is not a replacement situation β cdc doesn't yeet your old commentary. instead it inserts the new comment you supply, followed by a line of the form:
*** CHANGED *** yy/mm/dd hh/mm/ss username
β¦above the existing commentary. so everything is preserved, it's giving history-girl, it's giving receipts. π
if a directory is named as the s.filename argument, cdc applies to all s.files in that directory. unreadable s.files produce an error; processing continues with the next file (if any). and if - is given as the s.filename argument, each line of the standard input is taken as the name of an SCCS history file to be processed, and the -m and -y options must be used. no cap.
π OPTIONS π
-rsidβ specify the SID of the delta to change. main character option, honestly, nothing happens without it.-mmr-listβ specify one or more MR numbers to add or delete.- when you're specifying more than one MR on the command line,
mr-listtakes the form of a quoted, space-separated list. - to delete an MR number, precede it with a
!character (an empty MR list has no effect β it literally does nothing, king). - a list of deleted MRs is placed in the comment section of the delta commentary.
- if
-mis not used and the standard input is a terminal,cdcprompts withMRs?for the list (before issuing thecomments?prompt). -mis only useful when thevflag is set in thes.file. if that flag has a value, it is taken to be the name of a program to validate the MR numbers. if that validation program returns a non-zero exit status,cdcterminates and the delta commentary remains unchanged. π¨ (validation said no, so nothing happened β respect the bouncer.)
- when you're specifying more than one MR on the command line,
-Nbulk-specβ processes a bulk of SCCS history files. this option allows one to do an efficient mass processing of SCCS history files. β¨ mass processing era β¨
the bulk-spec parameter is composed from an optional list of flag parameters followed by an optional path specifier.
the following flag types are supported:
++β ifbulk-specis preceded by a++,cdc(1)expects to process filenames that are prepended by a plus sign, the related SID and another plus sign following the form:
+sid+filename
this permits each file to be retrieved with an individual SID.
- space β this is a placeholder dummy flag that allows one to use a prepared string for the
-Noption and to replace the space character by one of the supported flags on demand. (it's a vibe placeholder, it does a whole lot of nothing on its own.)
the following path specifier types are supported:
-Nβ the file name parameters to thecdccommand are nots.filenamefiles but the names of the g-files. thes.filenamenames are automatically derived from the g-file names by prependings.to the last path name component. boths.filenameand the g-file are in the same directory.-Ns.β the file name parameters to thecdccommand ares.filenamefiles. the g-files names are automatically derived by removings.from the beginning of last path name component of thes.filename. boths.filenameand the g-file are in the same directory.-Ndirβ the file name parameters to thecdccommand are nots.filenamefiles but the names of the g-files. thes.filenamenames are put into directory dir, the names are automatically derived from the g-file names by prependingdir/s.to the last path name component.-Ndir/s.β the file name parameters to thecdccommand ares.filenamefiles in directory dir. the g-files names are automatically derived by removingdir/s.from the beginning of last path name component of thes.filename.
a typical value for dir is SCCS. ποΈ
in order to overcome the limited number ofexec(2)arguments, it is recommended to use-as the file name parameter forcdc(1)and to send a list of path names to stdin.
this option is a SCHILY extension that does not exist in historic sccs implementations. (so if you're on ancient sccs and it's not working? that's why, bestie.)
-Xextended-optionsβ specify extended options. the argument extended-options may be a comma separated list of extended option names.
the following extended options are supported, they may be abbreviated as long ad the abbreviation is still unique. options with parameter may not be abbreviated.
0β when reading filenames from stdin, triggered by a file name argument-, the filename separator is a null byte instead of a newline. this allows one to use long lists with arbitrary filenames. π«Άhelpβ print a short online help for available options.
the -X option is a SCHILY extension that does not exist in historic sccs implementations.
-V,-version,--versionβ prints thecdcversion number string and exists.
this option is a SCHILY extension that does not exist in historic sccs implementations.
-y[comment]β use comment as the annotation in the delta commentary. the previous comments are retained; the comment is added along with a notation that the commentary was changed. a null comment leaves the commentary unaffected. if-yis not specified and the standard input is a terminal,cdcprompts withcomments?for the text of the notation to be added. an unescaped NEWLINE character terminates the annotation text. π¬-q[nsedelim]β enable NSE mode. if NSE mode is enabled, several NSE related extensions may be used. in this release, the value of nsedelim is ignored. (iconic behaviour honestly, it takes the parameter and justβ¦ doesn't.)
this option is an undocumented SUN extension that does not exist in historic sccs implementations.
-zβ enable CMF extensions for MR number handling.
this option is an undocumented SUN extension that does not exist in historic sccs implementations.
π EXAMPLES π
Example 1 β Changing the annotated commentary
the following command:
example% cdc -r1.6 -y"corrected commentary" s.program.c
produces the following annotated commentary for delta 1.6 in s.program.c:
D 1.6 88/07/05 23:21:07 username 9 0 00001/00000/00000
MRs:
COMMENTS:
corrected commentary
*** CHANGED *** 88/07/07 14:09:41 username
performance enhancements in main()
look at that. the old comment is still there, the new one plus the *** CHANGED *** line got dropped in above it. slay. π₯
π§ ENVIRONMENT VARIABLES π§
see environ(7) for descriptions of the following environment variables that affect the execution of cdc(1): LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES, and NLSPATH.
SCCS_NO_HELPβ if set,cdc(1)will not automatically callhelp(1)with the SCCS error code in order to print a more helpful error message. scripts that depend on the exact error messages of SCCS commands should set the environment variableSCCS_NO_HELPand setLC_ALL=C. π―
β EXIT STATUS β
the following exit values are returned:
0β successful completion. π1β an error occurred. π
π FILES π
s.fileβ SCCS history file, seesccsfile(5).x.fileβ temporary copy of thes.file; renamed to thes.fileafter completion.z.fileβ temporary lock file contains the binary process id in host byte order followed by the host name.dump.coreβ if the filedump.coreexists in the current directory and a fatal signal is received, a coredump is initiated viaabort(3). π (yes, it's exactly as dramatic as it sounds.)
π ATTRIBUTES π
see attributes(7) for descriptions of the following attributes:
- ATTRIBUTE TYPE: Availability
- ATTRIBUTE VALUE:
SUNWsprot
π SEE ALSO π
sccs(1), sccs-add(1), sccs-admin(1), sccs-branch(1), sccs-check(1), sccs-clean(1), sccs-comb(1), sccs-commit(1), sccs-create(1), sccs-cvt(1), sccs-deledit(1), sccs-delget(1), sccs-delta(1), sccs-diffs(1), sccs-edit(1), sccs-editor(1), sccs-enter(1), sccs-fix(1), sccs-get(1), sccs-help(1), sccs-histfile(1), sccs-info(1), sccs-init(1), sccs-istext(1), sccs-ldiffs(1), sccs-log(1), sccs-print(1), sccs-prs(1), sccs-prt(1), sccs-rcs2sccs(1), sccs-remove(1), sccs-rename(1), sccs-rmdel(1), sccs-root(1), sccs-sact(1), sccs-sccsdiff(1), sccs-status(1), sccs-tell(1), sccs-unedit(1), sccs-unget(1), sccs-val(1), bdiff(1), diff(1), what(1), sccschangeset(5), sccsfile(5), attributes(7), environ(7), standards(7).
like, the whole sccs friend group showed up. π«Ά
πΈ DIAGNOSTICS πΈ
use the SCCS help command for explanations (see sccs-help(1)).
π BUGS π
none currently known. (iconic behaviour, honestly β no notes. π )
mail bugs and suggestions to schilytools@mlists.in-berlin.de or open a ticket at https://codeberg.org/schilytools/schilytools/issues.
the mailing list archive may be found at:
https://mlists.in-berlin.de/mailman/listinfo/schilytools-mlists.in-berlin.de.
π AUTHORS π
okay so the SCCS suite's origin story is genuinely iconic π β it was originally written by Marc J. Rochkind at Bell Labs in 1972. Like, nineteen seventy-two. our ancestors were out here doing version control before it was cool, no cap.
Then Release 4.0 of SCCS dropped on February 18, 1977, and it introduced shiny new versions of the programs admin(1), get(1), prt(1), and delta(1). the glow-up was real: that release brought in the new text based SCCS v4 history file format β and bestie, the drama, because previous SCCS releases used a binary history file format. so yeah, 4.0 was the main character moment where everything went text-mode β¨
after that, the SCCS suite was maintained by various people at AT&T and Sun Microsystems π«Ά and since 2006, it's been maintained by Joerg Schilling and the schilytools project authors. periodt. π
π SOURCE DOWNLOAD π
the source code for SCCS is included in the schilytools project and may be retrieved from the schilytools project at Codeberg at
https://codeberg.org/schilytools/schilytools
and the download directory is right here, go grab it π
https://codeberg.org/schilytools/schilytools/releases
and that's the whole page bestie!! π¦ literally the entire manual, start to finish, nothing skipped, iykyk π
this lil beauty is from SunOS 5.11, dated 2022/10/06, and it's sccs-cdc(1) β go forth and slay your SCCS comments β¨ππ
π¦ where this page comes from
- opensuse-leap 16.0: sccs 2022.10.16-160000.2.2 Β· CDDL-1.0
- opensuse-leap 16.0: sccs 2022.10.16-160000.2.2 Β· CDDL-1.0
- opensuse-leap 16.0: sccs 2022.10.16-160000.2.2 Β· CDDL-1.0
- opensuse-leap 16.0: sccs 2022.10.16-160000.2.2 Β· CDDL-1.0
- Copyright 2007-2020 J. Schilling
- Copyright (c) 1999, Sun Microsystems, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms