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>$&nbsp;cvs&nbsp;-d&nbsp;/usr/local/repos&nbsp;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>$&nbsp;cvs&nbsp;-d&nbsp;/usr/local/repos&nbsp;checkout&nbsp;myproj</tt></dd>
      <dd><tt>U&nbsp;myproj/foo.c</tt></dd>
      <dd><tt>U&nbsp;myproj/bar.c</tt></dd>
      <dd><tt>&hellip;</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>$&nbsp;svn&nbsp;checkout&nbsp;file:///usr/local/repos/trunk&nbsp;myproj</tt></dd>
      <dd><tt>A&nbsp;&nbsp;myproj/foo.c</tt></dd>
      <dd><tt>A&nbsp;&nbsp;myproj/bar.c</tt></dd>
      <dd><tt>&hellip;</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>$&nbsp;cvs&nbsp;status</tt></dd>
      <dd><tt>&hellip;</tt></dd>
      <dd><tt>File: baz.c&nbsp;&nbsp;&nbsp;Status:&nbsp;Up-to-date</tt></dd>
      <dd><tt>&hellip;</tt></dd>
      <dd><tt>$&nbsp;cvs&nbsp;update</tt></dd>
      <dd><tt>M foo.c</tt></dd>
      <dd><tt>U bar.c</tt></dd>
      <dd><tt>&hellip;</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>$&nbsp;svn&nbsp;status</tt></dd>
      <dd><tt>M&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foo.c</tt></dd>
      <dd><tt>&hellip;</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 )