<h1>Fossil Tutorial</h1>

<i>Note: At this point this is only an outline, not the real thing.  We need to establish what goes into a decent Fossil tutorial before we start writing details.

Initially we may want to append the tutorial pieces so they're clearly labelled and up for discussion.  Once the pieces are in something resembling stable condition, the whole page can be edited and the final form moved up into the tutorial proper.</i>

Outline:
  *  What is Fossil?
  *  What distinguishes it from other SCM systems?
  *  How do I get it?
  *  How do I build it myself?
  *  What are the common use patterns?
  *  Coming to Fossil from CVS.
  *  Coming to Fossil from Subversion.
  *  Coming to Fossil from bzr.
  *  Coming to Fossil from Darcs.
  *  Coming to Fossil from Mercurial.
  *  Coming to Fossil from git.
  *  Coming to Fossil from ... (what else?).

<hr>


<hr><i>On 2008-05-25 06:41:52 UTC added:</i><br />
<h2>Coming to <cite>Fossil</cite> from
If you're coming to <cite>Fossil</cite> from most of <cite>Fossil</cite>'s concepts will not be new to you.  A brief comparison of the two systems will help get you oriented.
<nowiki>
<table width="50%" rules="all" border="1">
 <tr>


 </tr>
 <tr valign="top">
  <td>Create a new repository.</td>
  <td><code>darcs
  <td><code>fossil new open repo.fsl</td>
 <tr valign="top">
  <td>Clone an existing repository.</td>
  <td><code>darcs get
  <td><code>fossil clone URL open clone.fsl</td>
 </tr>
 <tr valign="top">
  <td>Collect changes from a remote repository.</td>
  <td><code>darcs pull
  <td><code>fossil pull
 </tr>
 <tr valign="top">
  <td>Send changes to remote repository.</td>
  <td><code>darcs push
  <td><code>fossil push
 </tr>
</table>
<sup>1</sup> A <cite>darcs</cite> repository is typically, in its most common use case, a subdirectory of the project directory.  A <cite>Fossil</cite> repository is a single file which can be placed anywhere on your disk.  It does not necessarily (and indeed usually shouldn't) reside in the same place you do your work.
<sup>2</sup> An alternative to using <code>darcs get</code> in the destination repository is to use <code>darcs put</code> in the source repository.
</nowiki>