Blob Blame History Raw
<section id="repo-convs-layout">

    <title>Repository Layout</title>

    <para>
        &TCAR; is made of one <quote>central repository</quote> and
        many <quote>working copies</quote> of that central repository.
        The working copies are independent one another, can be
        distributed all around the world and provide a local place for
        designers, documenters, translators and programmers to perform
        their work in a decentralized way.  The central repository, on
        the other hand, provides a common place for all independent
        working copies to interchange data in the community.
    </para>

    <para>
        The current infrastructure that holds &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 and <ulink url="http://trac.edgewall.org/">Trac</ulink>,
        a web-based software project management and bug/issue tracking
        system emphasizing ease of use and low ceremony.
    </para>

    <para>
        In addition to current Subversion infrastructure, we are
        working on a Git infrastructure with the intention of
        migrating the central repository to it, progressively. Here we
        use Gitolite to manage Git repositories, Gitweb to make
        changes browsable through the web and Mantis to track
        repository issues. The main reason for this migration is to
        take advantage of distributed version control system inside
        &TCAR;.  It also let people to commit changes locally, without
        any network access, and later push local commits up to central
        repository, when the network access be re-established.  This
        could be very useful in very different kind of situations.
    </para>

    <section id="repo-convs-layout-subversion">
    <title>Subversion</title>

    <para>
        In this layout, the first level of directories inside &TCAR;
        provides the Subversion's standard trunk-branches-tags layout.
        The second level of directories provides organization for
        different work lines, as described in <xref
        linkend="repo-convs-worklines" />.  All other subsequent
        directory levels from second level
        on exist to organize specific concepts related to the work
        line they belong to.
    </para>

    </section>

    <section id="repo-convs-layout-git">
    <title>Git</title>
    <para>
        In this layout, the first level of directories provides
        organization for different work lines, as described in <xref
        linkend="repo-convs-worklines" />.  All other subsequent
        directory levels from second level on exist to organize
        specific concepts related to the work line they belong to.
    </para>

    </section>

</section>