Alien-SVN
view release on metacpan or search on metacpan
src/subversion/doc/user/cvs-crossover-guide.html view on Meta::CPAN
margin-left: 2em;
}
.sidebyside {
padding: 0 2em;
width: 100%;
font-size: 80%;
}
.sidebyside th, .sidebyside td {
width: 50%;
border-width: 0 1px 2px 0;
border-style: solid;
border-color: black;
background: #b0c0f0;
vertical-align: top;
}
.sidebyside th {
text-align: center;
background: #90a0d0;
}
.bookref {
font-size: 80%;
}
</style>
</head>
<body>
<h1>CVS to SVN Crossover Guide</h1>
<!-- ==================================================================== -->
<div class="h2">
<h2>Purpose</h2>
<p>This document provides an alternate method of learning Subversion.
Many users dislike learning new technology via a theoretical "top
down" approach, as provided by the <a
href="http://svnbook.red-bean.com">Subversion Book</a>. Instead,
this document presents Subversion from the "bottom up": it shows a
CVS command or task, and then shows the equivalent task in
Subversion (along with relevant book links.) It's essentially a
re-indexing of topics covered by the book, keyed on CVS tasks.</p>
</div>
<!-- ==================================================================== -->
<div class="h2">
<h2>Table of Contents</h2>
<h3>Setup</h3>
<ul>
<li><a href="#repos_creation">Repository creation</a></li>
<li><a href="#import">Importing data</a></li>
<li><a href="#installing">Installing a server</a></li>
<li><a href="#authenticating">Authenticating to a server</a></li>
<li><a href="#browsing">Browsing a repository</a></li>
<li><a href="#checkingout">Checking out a working copy</a></li>
</ul>
<h3>Basic Work Cycle</h3>
<ul>
<li><a href="#changeditems">Seeing locally changed items</a></li>
<li><a href="#outofdate">Seeing out-of-date items</a></li>
<li><a href="#scheduling">Scheduling additions or deletions</a></li>
<li><a href="#copying">Copying and moving</a></li>
<li>Undoing local changes</li>
<li>Updating and committing</li>
<li>Resolving conflicts</li>
<li>Adding a binary file</li>
<li>Using native line-endings</li>
</ul>
<h3>Examining history</h3>
<ul>
<li>Seeing history of an item</li>
<li>Comparing two versions of an item</li>
</ul>
<h3>Branching/Tagging/Merging</h3>
<ul>
<li>Creating a branch</li>
<li>Moving a working copy to a branch</li>
<li>Finding the beginning of a branch</li>
<li>Porting a single change</li>
<li>Merging a whole branch</li>
<li>Reverting a committed change</li>
<li>Resurrecting deleted items</li>
<li>Creating a tag</li>
<li>Tweaking a tag</li>
<li>Seeing all tags</li>
<li>Comparing two tags</li>
<li>Seeing logs between two tags</li>
</ul>
<h3>Other tasks</h3>
<ul>
<li>Using modules</li>
<li>Line endings and keywords</li>
</ul>
</div>
<!-- ==================================================================== -->
<div class="h2">
<h2 id="repos_creation">Repository creation</h2>
<p>Create a new repository for holding versioned data.</p>
<table class="sidebyside">
<tr>
<th>CVS</th>
<th>Subversion</th>
</tr>
<tr>
<td>
<dl>
<dt>Commands:</dt>
<dd><tt>$ cvs -d /usr/local/repos init</tt></dd>
<dt>Explanation:</dt>
<dd>Creates a new directory <tt>repos</tt> ready to hold RCS
files and config scripts.</dd>
src/subversion/doc/user/cvs-crossover-guide.html view on Meta::CPAN
<!-- ==================================================================== -->
<div class="h2">
<h2 id="checkingout">Checking out a working copy</h2>
<p>Create a workspace on local disk which mirrors a directory
in the repository.</p>
<table class="sidebyside">
<tr>
<th>CVS</th>
<th>Subversion</th>
</tr>
<tr>
<td>
<dl>
<dt>Commands:</dt>
<dd><tt>$ cvs -d /usr/local/repos checkout myproj</tt></dd>
<dd><tt>U myproj/foo.c</tt></dd>
<dd><tt>U myproj/bar.c</tt></dd>
<dd><tt>…</tt></dd>
<dt>Explanation:</dt>
<dd>Creates a local directory <tt>myproj</tt> which is a mirror
of the repository directory <tt>/myproj</tt>.</dd>
</dl>
</td>
<td>
<dl>
<dt>Commands:</dt>
<dd><tt>$ svn checkout file:///usr/local/repos/trunk myproj</tt></dd>
<dd><tt>A myproj/foo.c</tt></dd>
<dd><tt>A myproj/bar.c</tt></dd>
<dd><tt>…</tt></dd>
<dt>Explanation:</dt>
<dd>Assuming that the original project data was imported into
the repository <tt>/trunk</tt> directory, this creates a local
directory <tt>myproj</tt> which is a mirror of the repository
directory <tt>/trunk</tt>. Standard Subversion convention is to
do "mainline" development in <tt>/trunk</tt>. See branching and
tagging sections for more details.</dd>
</dl>
</td>
</tr>
</table>
<dl class="bookref">
<dt>Book References:</dt>
<dd><a href="http://svnbook.red-bean.com/svnbook/ch03s04.html">Initial Checkout</a></dd>
<dd><a href="http://svnbook.red-bean.com/svnbook/re04.html">svn checkout</a></dd>
</dl>
</div>
<!-- ==================================================================== -->
<div class="h2">
<h2 id="changeditems">Seeing locally changed items</h2>
<p>Discover which items in the working copy have local
modifications or are scheduled for addition/deletion.</p>
<table class="sidebyside">
<tr>
<th>CVS</th>
<th>Subversion</th>
</tr>
<tr>
<td>
<dl>
<dt>Commands:</dt>
<dd><tt>$ cvs status</tt></dd>
<dd><tt>…</tt></dd>
<dd><tt>File: baz.c Status: Up-to-date</tt></dd>
<dd><tt>…</tt></dd>
<dd><tt>$ cvs update</tt></dd>
<dd><tt>M foo.c</tt></dd>
<dd><tt>U bar.c</tt></dd>
<dd><tt>…</tt></dd>
<dt>Explanation:</dt>
<dd>The <tt>cvs status</tt> command shows whether a file is
locally modified or out of date, including information about
working revision and branch info. Unfortunately, because the
output is so verbose and hard to read, many users run <tt>cvs
update</tt> instead, which shows a more compact listing of
modified files (and of course, it also causes the server to
merge changes into your working copy.)</dd>
</dl>
</td>
<td>
<dl>
<dt>Commands:</dt>
<dd><tt>$ svn status</tt></dd>
<dd><tt>M foo.c</tt></dd>
<dd><tt>…</tt></dd>
<dt>Explanation:</dt>
<dd>Shows modified files only. Very fast, as it does not use
the network. Does not update your working copy, yet still shows
a single-line display, much like <tt>svn update</tt>. To see
working revision and branch information, run <tt>svn info</tt>.</dd>
</dl>
</td>
</tr>
</table>
<dl class="bookref">
<dt>Book References:</dt>
<dd><a href="http://svnbook.red-bean.com/svnbook/ch03s05.html#svn-ch-3-sect-4.3.1">Examine Your Changes</a></dd>
<dd><a href="http://svnbook.red-bean.com/svnbook/re26.html">svn status</a></dd>
</dl>
</div>
( run in 0.353 second using v1.01-cache-2.11-cpan-411bb0df24b )