sccs-branch(1)

๐Ÿ“ฆ version 2022.10.16, in opensuse-leap 16.0

๐Ÿ’… sccs-branch(1) โ€” the branch-making, version-grabbing icon

okay so bestie, welcome to sccs-branch(1), one of the gorgeous little commands from Schily's USER COMMANDS lineup โœจ this is the page where we learn how to spin up a brand new branch and pull a version out for editing, and honestly? it's giving main character energy ๐Ÿฆ‹


๐ŸŒธ NAME ๐ŸŒธ

sccs-branch โ€” create a new branch and retrieve a version for editing ๐Ÿ˜Œ๐Ÿ’–


โœจ SYNOPSIS โœจ

sccs branch [options] [file1 .. filen]

๐ŸŽ€ DESCRIPTION ๐ŸŽ€

So the branch subcommand does exactly what it says on the tin: it creates a new branch and retrieves a version for editing ๐Ÿซถ. And lowkey, apart from that whole new-branch thing, it's literally equivalent to the edit subcommand. no cap.

<cyan>sccs branch</cyan> is equivalent to <pink>``get -b -e``</pink> followed by <pink>``delta -s -n``</pink> followed by <pink>``get -e -t -g``</pink>. that's the whole lineup, in that order, periodt ๐Ÿ’…


๐Ÿ”ฅ OPTIONS ๐Ÿ”ฅ

  • -asequence โ€” retrieves the version that corresponds to the indicated delta sequence number. ngl, this one is used primarily by the SCCS comb command (peep sccs-comb(1)). for us regular users, -r is the easier way to specify a version ๐Ÿ˜Œ. important vibe check: the -a option supersedes the -r option when both are used ๐Ÿ‘‘
  • -c date-time
  • -cdate-time โ€” retrieves the latest version checked in prior to the date and time indicated by the date-time argument. and 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 โ€” so -c7502 is equivalent to -c750228235959 โญ. values of yy in the range 69โˆ’99 refer to the twentieth century, and values in the range 00โˆ’68 refer to the twenty-first century ๐Ÿ•ฐ๏ธ. any number of non-numeric characters may separate the various 2 digit components, and if white-space characters occur, the date-time specification must be quoted ๐Ÿงš

a date-time specification in the form:

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

refers to a 4-digit year and lets you specify a year outside the range 1969โˆ’2068 ๐ŸŒˆ

  • -i sid-list
  • -isid-list โ€” specifies a list of deltas to include in the retrieved version ๐Ÿ’–. the included deltas are noted in the standard output message. sid-list is a comma-separated list of SIDs, and to specify a range of deltas, use a `โˆ’' separator instead of a comma, between two SIDs in the list โœจ
  • -l โ€” retrieve a summary of the delta table as l.file ๐Ÿ“„
  • -p โ€” writes the retrieved version to stdout ๐Ÿ–จ๏ธ
  • -s โ€” suppresses all output normally written on the standard output. however (and this part matters, bestie ๐Ÿ’€), fatal error messages โ€” which always go to the standard error โ€” remain unaffected ๐Ÿšจ
  • -r[sid] โ€” retrieves the version corresponding to the indicated SID (delta) ๐ŸŽฏ

the SID for a given delta is a number, in Dewey decimal format, composed of two or four fields: the release and level fields, and for branch deltas, the branch and sequence fields. for instance, if 1.2 is the SID, 1 is the release, and 2 is the level number. if 1.2.3.4 is the SID, 3 is the branch and 4 is the sequence number ๐Ÿง 

you need not specify the entire SID to retrieve a version with get. when you omit -r altogether, or when you omit both release and level, get normally retrieves the highest release and level ๐Ÿ‘‘. if the d flag is set to an SID in the s.file and you omit the SID, get retrieves the default version indicated by that flag ๐ŸŒŸ

when you specify a release but omit the level, get retrieves the highest level in that release. if that release does not exist, get retrieves the highest level from the next-highest existing release ๐Ÿ˜ฎ

similarly with branches, if you specify a release, level and branch, get retrieves the highest sequence in that branch ๐Ÿ’œ

  • -x sid-list
  • -x[sid-list] โ€” excludes the indicated deltas from the retrieved version ๐Ÿ™ˆ. the excluded deltas are noted in the standard output message. sid-list is a comma-separated list of SIDs, and to specify a range of deltas, use a `โˆ’' separator instead of a comma, between two SIDs in the list ๐Ÿ’ซ

๐Ÿฆ‹ EXAMPLES ๐Ÿฆ‹

to create a new branch for the file xec.c in the current directory, call:

sccs branch xec.c

and that's it. slay. go edit your heart out ๐Ÿ’–


๐ŸŒˆ ENVIRONMENT VARIABLES ๐ŸŒˆ

see environ(7) for descriptions of the following environment variables that affect the execution of sccs-branch(1): LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH โญ

  • SCCS_NO_HELP โ€” if set, sccs branch 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 ๐Ÿ˜Œ

๐Ÿ‘‘ ATTRIBUTES ๐Ÿ‘‘

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

  • Attribute Type: Availability โ€” Attribute Value: SCHILYdeveloper-build-sccs
  • Attribute Type: Interface Stability โ€” Attribute Value: Committed

๐Ÿซถ SEE ALSO ๐Ÿซถ

sccs(1), sccs-add(1), sccs-admin(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-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), what(1), sccschangeset(5), sccsfile(5) ๐ŸŒธ (yes, that's the whole friend group, they all show up ๐Ÿ’…)


๐Ÿ’€ BUGS ๐Ÿ’€

none currently known ๐Ÿ˜Œโœจ iconic behaviour, honestly.

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


๐Ÿ“ 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

ok that's the whole page bestie, go forth and branch responsibly ๐Ÿ’–โœจ๐ŸŒฟ

later, legend โ€” page brought to you by Joerg Schilling, dated 2022/10/06, from the sccs-branch(1) era of Schily's USER COMMANDS. mwah ๐Ÿ’‹

๐Ÿ“ฆ where this page comes from