Annotation of 43BSDReno/usr.bin/sccs/sccs.1, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1983, 1990 The Regents of the University of California.
                      2: .\" All rights reserved.
                      3: .\"
                      4: .\" Redistribution and use in source and binary forms are permitted provided
                      5: .\" that: (1) source distributions retain this entire copyright notice and
                      6: .\" comment, and (2) distributions including binaries display the following
                      7: .\" acknowledgement:  ``This product includes software developed by the
                      8: .\" University of California, Berkeley and its contributors'' in the
                      9: .\" documentation or other materials provided with the distribution and in
                     10: .\" all advertising materials mentioning features or use of this software.
                     11: .\" Neither the name of the University nor the names of its contributors may
                     12: .\" be used to endorse or promote products derived from this software without
                     13: .\" specific prior written permission.
                     14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
                     15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
                     16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     17: .\"
                     18: .\"     @(#)sccs.1     2.8 (Berkeley) 7/24/90
                     19: .\"
                     20: .Dd July 24, 1990
                     21: .Os BSD 4.4
                     22: .Dt SCCS 1
                     23: .Os BSD 4.2
                     24: .Sh NAME
                     25: .Nm sccs
                     26: .Nd front end for the
                     27: .Li SCCS
                     28: subsystem
                     29: .Sh SYNOPSIS
                     30: .Nm sccs
                     31: .Op Fl r
                     32: .Op Fl d Ar path
                     33: .Op Fl p Ar path
                     34: .Ar command
                     35: .Op  flags
                     36: .Ar
                     37: .Sh DESCRIPTION
                     38: .Nm Sccs
                     39: is a front end to the
                     40: .Li SCCS
                     41: programs
                     42: that
                     43: helps them mesh more cleanly
                     44: with
                     45: the rest of UNIX.
                     46: It
                     47: also includes the capability to run
                     48: .Dq set user id
                     49: to another user
                     50: to
                     51: provide additional protection.
                     52: .Pp
                     53: Basically,
                     54: .Nm sccs
                     55: runs the command with the specified
                     56: .Ar flags
                     57: and
                     58: .Ar args .
                     59: Each argument is normally modified to be prepended with
                     60: .Dq Li SCCS/s. .
                     61: .Pp
                     62: Flags to be interpreted by the
                     63: .Nm sccs
                     64: program must be before the
                     65: .Ar command
                     66: argument.
                     67: Flags to be passed to the actual
                     68: .Li SCCS
                     69: program must come after the
                     70: .Ar command
                     71: argument.
                     72: These flags are specific to the command and
                     73: are discussed in the documentation for that command.
                     74: .Pp
                     75: Besides the usual
                     76: .Li SCCS
                     77: commands,
                     78: several
                     79: .Dq pseudo-commands
                     80: can be issued.
                     81: These are:
                     82: .Tw Fl
                     83: .Tp Ic edit
                     84: Equivalent
                     85: to 
                     86: .Dq Li get \-e .
                     87: .Tp Ic delget
                     88: Perform a delta on the named files and
                     89: then get new versions.
                     90: The new versions will have id keywords expanded, and
                     91: will not be editable.
                     92: The
                     93: .Fl m ,
                     94: .Fl p ,
                     95: .Fl r ,
                     96: .Fl s ,
                     97: and
                     98: .Fl y
                     99: flags will be passed to
                    100: .Nm delta ,
                    101: and the 
                    102: .Fl b,
                    103: .Fl c ,
                    104: .Fl e ,
                    105: .Fl i ,
                    106: .Fl k ,
                    107: .Fl l ,
                    108: .Fl s ,
                    109: .\" anybody who has a bad xterm which is almost anyone
                    110: .if n \{\
                    111: .      br
                    112: .\}
                    113: and
                    114: .Fl x
                    115: flags will be passed to get.
                    116: .Tp Ic deledit
                    117: Equivalent
                    118: to
                    119: .Nm delget
                    120: except that the
                    121: .Nm get
                    122: phase includes the
                    123: .Fl e
                    124: flag.
                    125: This
                    126: option is useful for making a
                    127: .Em checkpoint
                    128: of your current editing phase.  The same flags will be passed to delta
                    129: as described above, and
                    130: all the flags listed for
                    131: .om get
                    132: above except
                    133: .Fl e
                    134: and
                    135: .Fl k
                    136: are
                    137: passed to
                    138: .Nm edit .
                    139: .Tp Ic create
                    140: Creates
                    141: an
                    142: .Li SCCS
                    143: file ,
                    144: taking
                    145: the initial contents from the file of the same name.
                    146: Any
                    147: flags to
                    148: .Nm admin
                    149: are accepted.  If the creation is successful,
                    150: the files are renamed with a comma on the front.
                    151: These should be removed when you are convinced that the
                    152: .Li SCCS
                    153: files
                    154: have been created successfully.
                    155: .Tp Ic fix
                    156: Must
                    157: be followed by a
                    158: .Fl r
                    159: flag.
                    160: This command essentially removes the named delta, but
                    161: leaves you with a copy of the delta
                    162: with the changes that were in it.  It
                    163: is useful for fixing small compiler bugs, etc.
                    164: Since it doesn't leave audit trails, it should be used carefully.
                    165: .Tp Ic clean
                    166: This routine removes everything from the current directory
                    167: that can be recreated from SCCS files.
                    168: It will not remove any files being edited.
                    169: If the
                    170: .Fl b
                    171: flag is given, branches are ignored in the determination of
                    172: whether they are being edited; this
                    173: is dangerous if you are keeping the branches in the
                    174: same directory.
                    175: .Tp Ic unedit
                    176: This
                    177: is the opposite of an
                    178: .Nm edit
                    179: or
                    180: a
                    181: .Dq Li get \-e .
                    182: It should be used with extreme caution, since
                    183: any changes you made since the get will be irretrievably lost.
                    184: .Tp Ic info
                    185: Gives a listing of all files being edited.
                    186: If the
                    187: .Fl b
                    188: flag
                    189: is given, branches (i.e.,
                    190: .Cx Li SID
                    191: .Cx \&\'s
                    192: .Cx
                    193: with two or fewer components)
                    194: are ignored.  If the
                    195: .Fl u
                    196: flag is given (with an optional argument) then
                    197: only files being edited by you (or the named user) are listed.
                    198: .Tp Ic check
                    199: Like
                    200: .Nm info
                    201: except that nothing is printed if nothing is being edited, and
                    202: a non-zero exit status is returned if anything is being edited.
                    203: The intent is to have this included in an
                    204: .Em install
                    205: entry in a makefile to insure that everything is included into the
                    206: .Li SCCS
                    207: file before a version is installed.
                    208: .Tp Ic tell
                    209: Gives a newline-separated list of the files being edited
                    210: on the standard output.  Takes the
                    211: .Fl b
                    212: and
                    213: .Fl u
                    214: flags like
                    215: .Nm info
                    216: and
                    217: .Nm check .
                    218: .Tp Ic diffs
                    219: Gives a
                    220: .Nm diff
                    221: listing between the current version of the
                    222: program(s) you have out for editing and the versions in
                    223: .Li SCCS
                    224: format.
                    225: The
                    226: .Fl r ,
                    227: .Fl c ,
                    228: .Fl i ,
                    229: .Fl x ,
                    230: and
                    231: .Fl t
                    232: flags are passed to
                    233: .if n \{\
                    234: .      br
                    235: .\}
                    236: .Nm get ;
                    237: the
                    238: .Fl l ,
                    239: .Fl s ,
                    240: .Fl e ,
                    241: .Fl f ,
                    242: .Fl h ,
                    243: and
                    244: .Fl b
                    245: options are passed to
                    246: .if n \{\
                    247: .      br
                    248: .\}
                    249: .Nm diff .
                    250: The
                    251: .Fl C
                    252: flag is passed to
                    253: .Nm diff
                    254: as
                    255: .Fl c .
                    256: .Tp Ic print
                    257: This command prints out verbose information
                    258: about the named files.
                    259: .Pp
                    260: .Tp Fl r
                    261: Runs
                    262: .Nm sccs
                    263: as the real user rather than as whatever effective user
                    264: .Nm sccs
                    265: is
                    266: .Dq Li set user id
                    267: to.
                    268: .Tp Fl d
                    269: Specifies a root directory for the
                    270: .Li SCCS
                    271: files.
                    272: The default is the current directory.
                    273: If environment variable
                    274: .Ev PROJECT
                    275: is set,
                    276: it will be used to determine the 
                    277: .Fl d
                    278: flag.
                    279: .Tp Fl p
                    280: flag defines the pathname of the directory in which the
                    281: .Li SCCS
                    282: files will be found;
                    283: .Dq Li SCCS
                    284: is the default.
                    285: The
                    286: .Fl p
                    287: flag
                    288: differs from the
                    289: .Fl d
                    290: flag
                    291: in that the
                    292: .Fl d
                    293: argument is prepended to the entire pathname and the
                    294: .Fl p
                    295: argument is inserted before the final component of the pathname.
                    296: For example,
                    297: .Dq Li sccs \-d/x \-py get a/b
                    298: will convert to
                    299: .Dq Li get /x/a/y/s.b .
                    300: The intent here is to create aliases such as
                    301: .Dq Li alias syssccs sccs -d/usr/src
                    302: which
                    303: will be used as
                    304: .Dq Li syssccs get cmd/who.c .
                    305: .Pp
                    306: Certain
                    307: commands (such as
                    308: .Nm admin  )
                    309: cannot be run
                    310: .Dq Li set user id
                    311: by all users, since this would allow anyone to change the authorizations.
                    312: These commands are always run as the real user.
                    313: .Sh EXAMPLES
                    314: To get a file for editing,
                    315: edit it,
                    316: and produce a new delta:
                    317: .Pp
                    318: .Dl sccs get \-e file.c
                    319: .Dl ex file.c
                    320: .Dl sccs delta file.c
                    321: .Pp
                    322: To get a file from another directory:
                    323: .Pp
                    324: .Dl sccs \-p/usr/src/sccs/s. get cc.c
                    325: .Pp
                    326: or
                    327: .Pp
                    328: .Dl sccs get /usr/src/sccs/s.cc.c
                    329: .Pp
                    330: To make a delta of a large number of files
                    331: in the current directory:
                    332: .Pp
                    333: .Dl sccs delta *.c
                    334: .Pp
                    335: To get a list of files being edited that are not on branches:
                    336: .Pp
                    337: .Dl sccs info \-b
                    338: .Pp
                    339: To delta everything being edited by you:
                    340: .Pp
                    341: .Dl sccs delta \`sccs tell \-u\`
                    342: .Pp
                    343: In a makefile, to get source files
                    344: from an
                    345: .Li SCCS
                    346: file if it does not already exist:
                    347: .Pp
                    348: .Dl SRCS = <list of source files>
                    349: .Dl $(SRCS):
                    350: .Dl \&\tsccs get $(REL) $@
                    351: .Sh ENVIRONMENT
                    352: .Tw Ar
                    353: .Tp Ev PROJECT
                    354: The PROJECT environment variable is checked by the
                    355: .Fl d
                    356: flag.  If
                    357: it begins with a slash, it is taken directly; otherwise,
                    358: the home directory of a user of that name is
                    359: examined for a subdirectory
                    360: .Dq Li src
                    361: or
                    362: .Dq Li source .
                    363: If such a directory is found, it is used.
                    364: .Tp
                    365: .Sh SEE ALSO
                    366: .Xr what 1
                    367: .Xr admin SCCS ,
                    368: .Xr chghist SCCS ,
                    369: .Xr comb SCCS ,
                    370: .Xr delta SCCS ,
                    371: .Xr get SCCS ,
                    372: .Xr help SCCS ,
                    373: .Xr prt SCCS ,
                    374: .Xr rmdel SCCS ,
                    375: .Xr sccsdiff SCCS ,
                    376: .br
                    377: Eric Allman,
                    378: .Em An Introduction to the Source Code Control System
                    379: .Sh HISTORY
                    380: .Nm Sccs
                    381: appeared in 4.3 BSD.
                    382: .Sh BUGS
                    383: It should be able to take directory arguments on pseudo-commands
                    384: like the
                    385: .Li SCCS
                    386: commands do.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.