Repository Infrastructure &TCAR; is made of one central repository and many working copies 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 exchange data in the community.
Repository infrastructure Repository infrastructure
Subversion The current infrastructure that holds &TCAR;, on the Internet, is made of the following components: Subversion — Modern Version Control System designed to replace CVS. Trac — Enhanced wiki and issue tracking system. Httpd+WebDav as data exchanging route between the workstations and the central repository, through the Internet. Httpd was configured to provide service through SSL, so all traffic between the workstations and the server be protected while it travels across the Internet. The access rights are controlled by using a combination of both Subversion's authorization files and Httpd's password files. These files can be managed consistently through Trac's WebAdmin plug-in. In this infrastructure, the first level of directories in the repository provides the Subversion's standard trunk-branches-tags layout. The second level of directories provides organization for different work lines, as described in . All other subsequent directory levels from second level on exist to organize specific concepts related to the work line they belong to.
Git In addition to current Subversion infrastructure, we are working on a Git infrastructure with the intention of migrating the current Subversion infrastructure up to it, progressively. The Git infrastructure we are working on is made of the following components: Git — Fast version control system. Gitolite — Highly flexible server for git directory version tracker. Gitweb — Simple web interface to git repositories. MantisBT — Web-based issue tracking system. The data exchanging route between the working copies and the central repository takes place through SSH. The access rights are controlled by using a combination of SSH public keys and Gitolite's repository configuration file. In this infrastructure, the first level of directories in the repository provides organization for different work lines, as described in . All other subsequent directory levels from second level on exist to organize specific concepts related to the work line they belong to.