<?php require_once "fs_inner_context.inc"; ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     "http://www.w3.org/TR/html4/loose.dtd">
<?php require_once "fs_inner_context.inc"; ?>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">

<title><?php echo $HTML_TITLE; ?></title>

</head>

<?php echo html_bgcolor_body($BG_COLOR); ?>

<!-- Standard hierarchical header structure -->

<?php echo $CS_HEADER_HTML; ?>

<?php echo html_linked_text("<em>Courses</em>", $CS_COURSES_ROOT_URL); ?>

<?php echo $HTML_HEADER; ?>

<hr><hr>

<p>This course is about concepts, rather than techniques. But it is
important to learn good CS laboratory technique, and there is no
particular course where we teach it. Different lab technique is
appropriate for different types of projects, but there are several
techniques that are widely useful, and I will insist on one of them
for CMSC 16100:</p>

<dl>

<dt><a name=rcs>Version Control with <em>RCS</em></a><br><br></dt>

<dd>It is very easy to make little blunders when editing programs, and
even textual documents. Use <em>RCS</em> (<em>R</em>evision
<em>C</em>ontrol <em>S</em>ystem) to help organize a sequence of
versions of each file that you edit. For the future, you should never
work on a significant file under <em>Unix</em> without using
<em>RCS</em>. <em>RCS</em> saves a complete history of changes to a
file, in a convenient form for comparison and backing out of
errors. To start:

<ol>

<li>Whenever you create a new directory in which to work, create a
subdirectory named <code>RCS</code>.</li>

<li>Whenever you create a new file by direct editing, check it in to
<em>RCS</em> by executing the command <code>ci -l
<var>filename</var></code>. (You don't need to check in
for files that are created automatically by a compiler or other
translator). You will be prompted for a brief description of the file, or
of your recent changes. You may gradually learn how to use this
description effectively, but you may just leave it empty and still get
most of the benefit of <em>RCS</em>. Type "." or "^D" to end your
description.</li>

<li>Whenever you edit a file, check it in again with <code>ci -l
<var>filename</var></code>.</li>

<li>To get a rough idea of what's going on, try <code>ls RCS</code>,
<code>rlog <var>filename</var></code>, <code>rcsdiff
<var>filename</var></code>.</li>

<li>When you get in trouble, learn about the useful features of
<em>RCS</em>. Start with <code>man rcs</code>, or <code>info
rcs</code>.<br><br></li>

</ol>

On your own initiative, you may choose to use the more advanced, and
more complex, <em>CVS</em> (<em>Concurrent</em> <em>Version</em>
<em>S</em>ystem) that is built on top of <em>RCS</em>.<br><br>

</dd>

</dl>

<?php echo html_footer("index", 0, 1); ?>
<!-- hhmts start -->
Last modified: Wed Sep 24 15:28:12 CDT 2002
<!-- hhmts end -->

</body>

</html>
