sccs-rmdel(1)

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

✨ sccs-rmdel, rmdel β€” remove a delta from an SCCS file ✨

okay so bestie, listen up πŸ’… this is the manual page for sccs-rmdel(1) and honestly it's giving surgical precision energy. we're removing deltas from SCCS files and it's lowkey iconic. let's get into it 🫢


🌸 SYNOPSIS 🌸

/usr/ccs/bin/rmdel [-d] -rsid [-q[nsedelim]] [-z]
    [-Xextended-options] [-Nbulk-spec] s.filename...

πŸ’– DESCRIPTION πŸ’–

so the rmdel utility does exactly what it says on the tin: it removes the delta specified by the SCCS delta ID (SID) you pass with -r. no cap.

but like, there are rules, bestie πŸ™ˆ:

  • the delta you're removing must be the most recent (leaf) delta in its branch β€” you can't just yoink some random middle delta, that's not the vibe
  • the SID must not be that of a version checked out for editing β€” i.e. it must not appear in any entry of the version lock file (p.file). literally not allowed.

if you created the delta, or, if you own the file and directory and have write permission, you can remove it with rmdel. main character privileges, honestly πŸ‘‘

if a directory name is used in place of the s.filename argument, the rmdel command applies to all s.files in that directory. unreadable s.files produce an error; processing continues with the next file (if any) β€” no dramatic exit, she just keeps going πŸ’…. and using βˆ’ as the s.filename argument means the names of files are to be read from the standard input, one s.file per line. cute.


✨ OPTIONS ✨

here's where it gets spicy β€” the following option is supported:

  • -d β€” Fully discard the delta. by default only the file content for the related SID is removed and the delta table entry is changed to the new type R. when in discard mode, the delta table entry is also completely discarded. like, gone-gone. πŸ’€
  • -rsid β€” Remove the version corresponding to the indicated SID (delta). this option is mandatory, bestie, there's no way around it πŸŽ€
  • -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.
πŸ’‘ this option is an undocumented SUN extension that does not exist in historic sccs implementations. iykyk.
  • -z β€” Enable CMF extensions for MR number handling.
πŸ’‘ also an undocumented SUN extension that does not exist in historic sccs implementations. special little secret 🀫
  • -Nbulk-spec β€” Processes a bulk of SCCS history files. this option allows one to do an efficient mass processing of SCCS history files. werk πŸ’…

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 ++, rmdel(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. fancy ✨

  • 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. lowkey clever.

the following path specifier types are supported:

  • -N β€” The file name parameters to the rmdel 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 rmdel 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. (yes the original says "The the" β€” we're keeping it, it's canon 🫢)
  • -Ndir β€” The file name parameters to the rmdel 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 rmdel 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. iconic.

🌈 in order to overcome the limited number of exec(2) arguments, it is recommended to use βˆ’ as the file name parameter for rmdel(1) and to send a list of path names to stdin. absorbing information.
πŸ’‘ 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. unhinged but valid 🧚
    • 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 rmdel version number string and exists.
πŸ’‘ This option is a SCHILY extension that does not exist in historic sccs implementations. (yes, three ways to say the same thing β€” she's flexible πŸ’…)

πŸ¦‹ ENVIRONMENT VARIABLES πŸ¦‹

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

  • SCCS_NO_HELP β€” If set, rmdel(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. periodt. πŸ“œ

πŸ’œ EXIT STATUS πŸ’œ

the following exit values are returned:

  • 0 β€” Successful completion. slay ✨
  • 1 β€” An error occurred. it happens bestie 😭

πŸŽ€ FILES πŸŽ€

  • p.file β€” permissions (lock) file for checked-out versions. see sccs-get(1) for a description of the layout of the p.file.
  • s.file β€” SCCS history file, see sccsfile(5).
  • x.file β€” temporary copy of the s.file; renamed to the s.file after completion.
  • z.file β€” temporary lock file contains the binary process id in host byte order followed by the host name. very demure, very mindful.
  • 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). dramatic but valid πŸ’€

🌈 ATTRIBUTES 🌈

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

ATTRIBUTE TYPE β†’ ATTRIBUTE VALUE

  • 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-prs(1), sccs-prt(1), sccs-rcs2sccs(1), sccs-remove(1), sccs-rename(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).

that's a whole friend group right there πŸ˜­πŸ’–


πŸ“ DIAGNOSTICS πŸ“

Use the SCCS help command for explanations (see sccs-help(1)). she'll explain everything.


πŸ™ˆ BUGS πŸ™ˆ

None currently known. literally flawless behavior, we love to see it πŸ’…βœ¨

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 πŸ‘‘

sccs was originally written by Eric Allman at UCB in 1980. it was later maintained by various people at AT&T and Sun Microsystems. since 2006, it has been maintained by Joerg Schilling and the schilytools project authors. ancient code, still thriving, we love a legacy queen 🌸


πŸ”₯ 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.


okay bestie that's the whole page πŸ«ΆπŸ’– big thanks to the schilytools project for this one, from the SunOS 5.11 era dated 2022/10/06 β€” oldie but a goodie. now go forth and remove those leaf deltas responsibly βœ¨πŸ‘‘πŸŽ€

πŸ“¦ where this page comes from