|
|
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.