|
|
64fb5f |
<section id="repo-convs-layout">
|
|
|
011179 |
|
|
|
3c5068 |
<title>Repository Layout</title>
|
|
|
3c5068 |
|
|
|
3c5068 |
<para>
|
|
|
6509f8 |
&TCAR; is made of one <quote>central repository</quote> and
|
|
|
6509f8 |
many <quote>working copies</quote> of that central repository.
|
|
|
6509f8 |
The working copies are independent one another, can be
|
|
|
6509f8 |
distributed all around the world and provide a local place for
|
|
|
6509f8 |
designers, documenters, translators and programmers to perform
|
|
|
6509f8 |
their work in a decentralized way. The central repository, on
|
|
|
6509f8 |
the other hand, provides a common place for all independent
|
|
|
6509f8 |
working copies to interchange data in the community.
|
|
|
6509f8 |
</para>
|
|
|
6509f8 |
|
|
|
6509f8 |
<para>
|
|
|
6509f8 |
The current infrastructure that holds &TCAR; is supported by
|
|
|
6509f8 |
<ulink url="http://subversion.tigris.org/">Subversion</ulink>,
|
|
|
6509f8 |
a version control system which allows you to keep old versions
|
|
|
3c5068 |
of files and directories (usually source code), keep a log of
|
|
|
3c5068 |
who, when, and why changes occurred, etc., like CVS, RCS or
|
|
|
6509f8 |
SCCS and <ulink url="http://trac.edgewall.org/">Trac</ulink>,
|
|
|
6509f8 |
a web-based software project management and bug/issue tracking
|
|
|
6509f8 |
system emphasizing ease of use and low ceremony.
|
|
|
3c5068 |
</para>
|
|
|
3c5068 |
|
|
|
3c5068 |
<para>
|
|
|
6509f8 |
In addition to current Subversion infrastructure, we are
|
|
|
6509f8 |
working on a Git infrastructure with the intention of
|
|
|
6509f8 |
migrating the central repository to it, progressively. Here we
|
|
|
6509f8 |
use Gitolite to manage Git repositories, Gitweb to make
|
|
|
6509f8 |
changes browsable through the web and Mantis to track
|
|
|
6509f8 |
repository issues. The main reason for this migration is to
|
|
|
6509f8 |
take advantage of distributed version control system inside
|
|
|
6509f8 |
&TCAR;. It also let people to commit changes locally, without
|
|
|
6509f8 |
any network access, and later push local commits up to central
|
|
|
6509f8 |
repository, when the network access be re-established. This
|
|
|
6509f8 |
could be very useful in very different kind of situations.
|
|
|
3c5068 |
</para>
|
|
|
011179 |
|
|
|
6509f8 |
<section id="repo-convs-layout-subversion">
|
|
|
6509f8 |
<title>Subversion</title>
|
|
|
6509f8 |
|
|
|
011179 |
<para>
|
|
|
6509f8 |
In this layout, the first level of directories inside &TCAR;
|
|
|
6509f8 |
provides the Subversion's standard trunk-branches-tags layout.
|
|
|
6509f8 |
The second level of directories provides organization for
|
|
|
6509f8 |
different work lines, as described in
|
|
|
6509f8 |
linkend="repo-convs-worklines" />. All other subsequent
|
|
|
6509f8 |
directory levels from second level
|
|
|
6509f8 |
on exist to organize specific concepts related to the work
|
|
|
6509f8 |
line they belong to.
|
|
|
6509f8 |
</para>
|
|
|
6509f8 |
|
|
|
6509f8 |
</section>
|
|
|
6509f8 |
|
|
|
6509f8 |
<section id="repo-convs-layout-git">
|
|
|
6509f8 |
<title>Git</title>
|
|
|
6509f8 |
<para>
|
|
|
6509f8 |
In this layout, the first level of directories provides
|
|
|
e4773a |
organization for different work lines, as described in
|
|
|
e4773a |
linkend="repo-convs-worklines" />. All other subsequent
|
|
|
6509f8 |
directory levels from second level on exist to organize
|
|
|
e4773a |
specific concepts related to the work line they belong to.
|
|
|
011179 |
</para>
|
|
|
3c5068 |
|
|
|
6509f8 |
</section>
|
|
|
6509f8 |
|
|
|
64fb5f |
</section>
|