sccs-prs(1)

πŸ“¦ version 2022.10.16, in opensuse-leap 16.0

πŸ’… sccs-prs(1) β€” User Commands, but make it cute

okay so bestie, this is sccs-prs (also just prs), and it's literally your SCCS history highlight reel. Let's get into it πŸ’–


✨ NAME ✨

sccs-prs, prs β€” display selected portions of an SCCS history πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

/usr/ccs/bin/prs [-ael] [-cdate-time] [-ddataspec]
    [-q[nsedelim]] [-rsid]
    [-Xextended-options] [-Nbulk-spec] s.filename...

🌸 DESCRIPTION 🌸

So the prs utility displays part or all of the SCCS file (peep sccsfile(5) for that) in a format you supply. main character formatting energy ✨

The output is based on data from the s.files that gets first converted into a binary format and later converted back into text. it's giving glow-up-and-glow-down 😭

If a directory name is used in place of the s.filename argument, the prs command applies to all s.files in that directory. Unreadable s.files produce an error, but processing continues with the next file (if any) β€” she doesn't let one bad file ruin the whole vibe πŸ’…

The use of βˆ’ as the s.filename argument indicates that the names of files are to be read from the standard input, one s.file per line. cute.


πŸ’œ OPTIONS πŸ’œ

In the absence of options, prs displays the delta table (version log). In the absence of -d or -l, prs displays the entry for each delta indicated by the other options.

  • -a β€” Includes all deltas, including those marked as removed (see sccs-rmdel(1)). no delta left behind 🫢
  • -e β€” Requests information for all deltas created earlier than, and including, the delta indicated with -r or -c.
  • -l β€” Requests information for all deltas created later than, and including, the delta indicated with -r or -c.
  • -cdate-time β€” Either option -e or -l must be used with this one, no exceptions bestie. -cdate-time displays information on the deltas checked in either prior to and including the date and time indicated by the date-time argument (option -e); or later than and including the date and time indicated (option -l).

date-time takes the form:

yy[mm[dd[hh[mm[ss]]]]]

Units omitted from the indicated date and time default to their maximum possible values; that is -c7502 is equivalent to -c750228235959. Any number of non-numeric characters may separate the various 2 digit components. If whitespace characters occur, the date-time specification must be quoted. Values of yy in the range 69βˆ’99 refer to the twentieth century. Values in the range of 00βˆ’68 refer to the twenty-first century. time-travel rules, iconic πŸ•°οΈ

A date-time specification in the form:

yyyy/[mm[dd[hh[mm[ss]]]]]

refers to a 4-digit year and allows one to specify a year outside the range 1969βˆ’2068. for the girlies who need to log deltas in the year 2100 πŸ’€

  • -ddataspec β€” Produce a report according to the indicated data specification. dataspec consists of a (quoted) text string that includes embedded data keywords of the form :key: (see Data Keywords, below). prs expands these keywords in the output it produces. To specify a TAB character in the output, use \t; to specify a NEWLINE in the output, use \n. it's giving fill-in-the-blank but make it deluxe ✨
  • -rsid β€” Specifies the SCCS delta ID (SID) of the delta for which information is desired. If no SID is specified, the most recently created delta is used. queen of defaults πŸ‘‘
  • -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. lowkey it does nothing, we stan a low-effort icon πŸ™ˆ
This option is an undocumented SUN extension that does not exist in historic sccs implementations.
  • -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 slay πŸ”₯

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:

  • ++ β€” If bulk-spec is preceded by a ++, prs(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 -N option and to replace the space character by one of the supported flags on demand. placeholder vibes, she's just holding the spot πŸ’…

The following path specifier types are supported:

  • -N β€” The file name parameters to the prs command are not s.filename files but the names of the g- files. The s.filename names are automatically derived from the g-file names by prepending s. to the last path name component. Both, s.filename and the g-file are in the same directory.
  • -Ns. β€” The file name parameters to the prs command are s.filename files. The g-files names are automatically derived by removing s. from the beginning of last path name component of the s.filename. Both, s.filename and the g-file are in the same directory.
  • -Ndir β€” The file name parameters to the prs command are not s.filename files but the names of the g- files. The s.filename names are put into directory dir, the names are automatically derived from the g-file names by prepending dir/s. to the last path name component.
  • -Ndir/s. β€” The file name parameters to the prs command are s.filename files in directory dir. The g-files names are automatically derived by removing dir/s. from the beginning of last path name component of the s.filename.

A typical value for dir is SCCS. the classic πŸŽ€

In order to overcome the limited number of exec(2) arguments, it is recommended to use βˆ’ as the file name parameter for prs(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.
  • -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 as 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. null bytes for the long-list girlies πŸ¦‹
  • 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 the prs version number string and exists. version check, iconic ⭐
This option is a SCHILY extension that does not exist in historic sccs implementations.

✨ USAGE ✨

Okay bestie, here’s the usage tea for prs β€” the page literally says: β€œUsage of prs is described below.”

πŸŽ€ Data Keywords πŸŽ€

Data keywords are the little selectors that tell prs which parts of an SCCS file to pull out. Every part of an SCCS file (see sccsfile(5)) has its own data keyword, and a data keyword may appear any number of times in a data specification argument to -d. Here are all of them, no skips:

  • :A: β€” data item: A form of what string:; file section: N/A; value: :Z::Y: :M: :I::Z:; format: S.
  • :AC: β€” data item: CMF validation program; file section: F; value: text; format: S.
  • :B: β€” data item: branch number; file section: D; value: nnnn; format: S.
  • :BD: β€” data item: body; file section: B; value: text; format: M.
  • :BF: β€” data item: branch flag; file section: F; value: yes or no; format: S.
  • :CB: β€” data item: ceiling boundary; file section: F; value: :R:; format: S.
  • :C: β€” data item: comments for delta; file section: D; value: text; format: M.
  • :D: β€” data item: date delta created; file section: D; value: :Dy:/:Dm:/:Dd:; format: S.
  • :d: β€” data item: date delta created; file section: D; value: :DY:/:Dm:/:Dd:; format: S.
  • :D_: β€” data item: date delta created; file section: D; value: :DY:-:Dm:-:Dd:; format: S.
  • :Dd: β€” data item: day delta created; file section: D; value: nn; format: S.
  • :Dg: β€” data item: deltas ignored (seq #); file section: D; value: :DS: :DS:...; format: S.
  • :DI: β€” data item: seq-no. of deltas included, excluded, ignored; file section: D; value: :Dn:/:Dx:/:Dg:; format: S.
  • :DL: β€” data item: delta line statistics; file section: D; value: :Li:/:Ld:/:Lu:; format: S.
  • :Dm: β€” data item: month delta created; file section: D; value: nn; format: S.
  • :Dn: β€” data item: deltas included (seq #); file section: D; value: :DS: :DS:...; format: S.
  • :DP: β€” data item: predecessor delta seq-no.; file section: D; value: nnnn; format: S.
  • :Ds: β€” data item: default SID; file section: F; value: :I:; format: S.
  • :DS: β€” data item: delta sequence number; file section: D; value: nnnn; format: S.
  • :Dt: β€” data item: delta information; file section: D; value: :DT: :I: :D: :T: :P: :DS: :DP:; format: S.
  • :DT: β€” data item: delta type; file section: D; value: D or R; format: S.
  • :Dx: β€” data item: deltas excluded (seq #); file section: D; value: :DS: ...; format: S.
  • :Dy: β€” data item: year delta created; file section: D; value: nn; format: S.
  • :DY: β€” data item: year delta created; file section: D; value: nnnn; format: S.
  • :F: β€” data item: s.file name; file section: N/A; value: text; format: S.
  • :G: β€” data item: file name; file section: N/A; value: text; format: S.
  • :FB: β€” data item: floor boundary; file section: F; value: :R:; format: S.
  • :FD: β€” data item: file descriptive text; file section: C; value: text; format: M.
  • :FL: β€” data item: flag list; file section: F; value: text; format: M.
  • :GB: β€” data item: gotten body; file section: B; value: text; format: M.
  • :Gp: β€” data item: initial path; file section: G; value: text; format: S.
  • :Gr: β€” data item: unified random; file section: G; value: text; format: S.
  • :I: β€” data item: SCCS delta ID (SID); file section: D; value: :R:.:L:.:B:.:S:; format: S.
  • :J: β€” data item: joint edit flag; file section: F; value: yes or no; format: S.
  • :KF: β€” data item: keyword error/warning flag; file section: F; value: yes or no; format: S.
  • :L: β€” data item: level number; file section: D; value: nnnn; format: S.
  • :Ld: β€” data item: lines deleted by delta; file section: D; value: nnnnn; format: S.
  • :Li: β€” data item: lines inserted by delta; file section: D; value: nnnnn; format: S.
  • :LK: β€” data item: locked releases; file section: F; value: :R:...; format: S.
  • :Lu: β€” data item: lines unchanged by delta; file section: D; value: nnnnn; format: S.
  • :M: β€” data item: module name; file section: F; value: text; format: S.
  • :MC: β€” data item: CMF validation flag; file section: F; value: yes or no; format: S.
  • :MF: β€” data item: MR validation flag; file section: F; value: yes or no; format: S.
  • :MP: β€” data item: MR validation program; file section: F; value: text; format: S.
  • :MR: β€” data item: MR numbers for delta; file section: D; value: text; format: M.
  • :ND: β€” data item: null delta flag; file section: F; value: yes or no; format: S.
  • :Q: β€” data item: user defined keyword; file section: F; value: text; format: S.
  • :P: β€” data item: user who created delta; file section: D; value: username; format: S.
  • :PN: β€” data item: s.file's pathname; file section: N/A; value: text; format: S.
  • :R: β€” data item: release number; file section: D; value: nnnn; format: S.
  • :S: β€” data item: sequence number; file section: D; value: nnnn; format: S.
  • :SX: β€” data item: SID specific extensions; file section: D; value: text; format: M.
  • :T: β€” data item: time delta created; file section: D; value: :Th:::Tm:::Ts:; format: S.
  • :Th: β€” data item: hour delta created; file section: D; value: nn; format: S.
  • :Tm: β€” data item: minutes delta created; file section: D; value: nn; format: S.
  • :Ts: β€” data item: seconds delta created; file section: D; value: nn; format: S.
  • :UN: β€” data item: user names; file section: U; value: text; format: M.
  • :W: β€” data item: A form of what string; file section: N/A; value: :Z::M:\t:I:; format: S.
  • :Y: β€” data item: module type flag; file section: F; value: text; format: S.
  • :Z: β€” data item: what string delimiter; file section: N/A; value: @(#); format: S.

File-section footnote: B = body, D = delta table, F = flags, G = gl. metadata, U = user names.

Format footnote: S = simple format, M = multi-line format.


πŸ¦‹ EXAMPLES πŸ¦‹

Example 1 Displaying delta entries

The following command:

example% /usr/ccs/bin/prs -e -d":I:\t:P:" program.c

produces:

1.6  username
1.5  username
...

🌈 ENVIRONMENT VARIABLES 🌈

See environ(7) for descriptions of the following environment variables that affect the execution of prs(1): LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES, and NLSPATH.

🫢 SCCS_NO_HELP 🫢

If set, prs(1) will not automatically call help(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 variable SCCS_NO_HELP and set LC_ALL=C.

⭐ EXIT STATUS ⭐

The following exit values are returned:

  • 0 β€” Successful completion.
  • 1 β€” An error occurred.

πŸ“ FILES πŸ“

  • s.file β€” SCCS history file, see sccsfile(5).
  • /tmp/pr????? β€” temporary file.
  • dump.core β€” If the file dump.core exists in the current directory and a fatal signal is received, a coredump is initiated via abort(3).

πŸ‘‘ ATTRIBUTES πŸ‘‘

See attributes(7) for descriptions of the following attributes:

  • Availability β€” SUNWsprot
  • Interface Stability β€” Standard

πŸ’œ SEE ALSO πŸ’œ

sccs(1), sccs-add(1), sccs-admin(1), sccs-branch(1), sccs-cdc(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-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).

πŸ’€ DIAGNOSTICS πŸ’€

Use the SCCS help command for explanations (see sccs-help(1)).

πŸ› BUGS πŸ›

This man page sucks.

Mail other 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 🧚

The SCCS suite was originally written by Marc J. Rochkind at Bell Labs in 1972. Release 4.0 of SCCS, introducing new versions of the programs admin(1), get(1), prt(1), and delta(1) was published on February 18, 1977; it introduced the new text based SCCS v4 history file format (previous SCCS releases used a binary history file format). The SCCS suite was later maintained by various people at AT&T and Sun Microsystems. Since 2006, the SCCS suite has been maintained by Joerg Schilling and the schilytools project authors.

🌸 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

The download directory is:

https://codeberg.org/schilytools/schilytools/releases

mwah πŸ’‹ final footer vibe: this is sccs-prs(1) from SunOS 5.11, dated 2022/10/06.

πŸ“¦ where this page comes from