<chapter id="repo-repoconvs-layout">
<title>Repository Layout</title>
<para>
&TCAR; is supported by <ulink
url="http://subversion.tigris.org/">Subversion</ulink>, a
version control system which allows you to keep old versions
of files and directories (usually source code), keep a log of
who, when, and why changes occurred, etc., like CVS, RCS or
SCCS.
</para>
<para>
When using Subversion there is one <quote>source
repository</quote> and many <quote>working copies</quote> of
that source repository. The working copies are independent one
another, can be distributed all around the world and provide a
local place for designers, documentors, translators and
programmers to perform their work in a descentralized way.
The source repository, on the other hand, provides a central
place for all independent working copies to interchange data
and provides the information required to permit extracting
previous versions of files at any time.
</para>
<para>
The first level of directories in the repository provides
organization through a convenctional <quote>trunk</quote>,
<quote>branches</quote> and <quote>tags</quote> layout. In
this configuration the <filename
class="directory">trunk</filename> directory is where main
changes take place, the <filename
class="directory">tags</filename> directory is where frozen
copies of <filename class="directory">trunk</filename> changes
are placed in for releasing, and the <filename
class="directory">branches</filename> directory is an
intermediate place between <filename
class="directory">trunk</filename> and <filename
class="directory">tags</filename> states where changes take
place before being merged into <filename
class="directory">trunk</filename> and finally released into
<filename class="directory">tags</filename>.
</para>
<para>
The second level of directories in the repository provides
organization for each work line described in <xref
linkend="repo-worklines" />.
</para>
<para>
All other subsequent levels of directories in the repository,
from third level on, are created to organize specific concepts
related to the work line they are in.
</para>
&repo-layout-filenames;
&repo-layout-relbdirs;
&repo-layout-syncpaths;
&repo-layout-extending;
</chapter>