NAME
rccs - apply RCS commands to sets of files
SYNOPSIS
rccs command [ options ] [ filename and/or directory ... ]
DESCRIPTION
rccs is a perl script that tries to emulate the Berkeley SCCS program
for RCS. If your fingers know how to type commands to SCCS, just do
the same thing to rccs.
A subset of the SCCS commands are implemented, the ones that I use.
Some new commands have been added. It is easy to add more commands,
see the Example routine at the bottom of rccs to see how.
This interface does not require a list of files/directories for most
commands; the implied list is *,v and/or RCS/*,v. Destructive
commands, such as clean -f, unedit, unget, do not have an implied list.
In other words, rccs diffs is the same as rccs diffs RCS but rccs
unedit is not the same as rccs unedit RCS.
COMMANDS
options Note that RCS options are typically passed through to RCS. The
options that made sense to SCCS commands are translated to RCS
options.
ci Alias for delta. Checks in files.
clean [-e] [-f] [-d|y’message’] [files]
Without any arguments, this command removes all files that
are read only and have an associated RCS file. With the -e
argument, clean removes files that have been checked out
writable but have not been modified. The -d|y|m option may
be combined with -e to check in the set of files that have
been modified. With the -f option, clean removes all working
files, including files that have been modified since the
check out. Be careful.
co Alias for get. Checks out files.
create [-y|d’message’] [-g] files
Initial check in of files to the RCS system. The files are
then checked out readonly unless the -g option is present.
The -y or -d options may be used to set the descriptive text
message. Differs from SCCS in that the original files are
not preserved.
deledit Alias for delta followed by a get -e.
delget Alias for delta followed by a get.
delta [-y|d’message’] [-q] [files]
Check in a delta of the file. -q is changed to RCS’ -s and
means to be quiet about hwat is happening. -y’message’ or
-d’message’ or -m’message’ all get sent through to RCS as the
check in message. No other arguments are translated.
diffs [-C|c] [-r<rev>] [-sdiff] [files]
Shows changes between the working files and the RCS file.
Note that the files do not need to be checked out, only
writable. -C or -c means do a context diff. -sdiff means do
a side by side diff. The sdiff option will figure out your
screen width if it knows how - see the source to make this
work on your system.
edit Alias for get -e.
enter Alias for create -g.
fix Useful if you just checked in the file and then realized you
forgot something. The fix command will remove the top delta
from the history and leave you with an editable working file
with the top delta as the contents.
get [-e] [-p] [-k] [-s] [files]
Get, or check out, the file. Without any options, get just
gets the latest revision of the RCS file in the working file.
With -e, check out the file writable. With -p, send the file
to stdout. With -k, supress expansion of key words. With
-s, be quiet about what is happening.
help Get a brief help screen of information.
history [files]
Print the RCS history (my format) of the specified files.
info [files]
Print the list of files being edited.
print Alias for a loop that prints the history of each file
followed by the contents of the file.
prs Alias for history.
prt Alias for history.
unedit Alias for clean -f.
unget Alias for clean -f.
GLOBAL OPTIONS
-debug Turn on debugging. Used when debugging rccs itself.
-verbose Be more verbose about what is happening.
EXAMPLES
To start off, add a bunch of files to RCS:
rccs create -y’my program name’ myprog.c myprog.h
Now let’s edit them all:
rccs get -e
If we didn’t change anything, the following gives us a clean directory:
rccs clean -e
If we changed myprog.h, the following gives us a clean directory after
checking in myprog.h:
rccs clean -e -d’some message’
If we want to see what we changed:
rccs diffs
SEE ALSO
RCS commands, SCCS commands, sdiff(1), perl(1).
TODO
It would be nice to implement a -i option that prompted before each
action, especially the destructive ones.