Arch est un outil de contrôle de révision, de gestion de code source et de gestion de configuration.
Ce manuel est un tutoriel : son propos est de vous aider à commencer à utiliser arch, et ensuite de vous apprendre à manier certaines fonctionnalités avancées.
On suppose que le lecteur est familier avec les commandes unix de base (telles que ls, mv et find).
Par ailleurs, le lecteur devrait être familier avec les programmes diff et patch et avec le concept de patchset.
Il est très utile -- mais pas strictement nécessaire -- d'avoir déjà utilisé d'autres systèmes de contrôle de version, tels que CVS.
Arch est, dans sa plus grande partie, un programme auto-documenté. La commande :
% tla help
fournit une liste ordonnée des commandes disponibles et, pour une commande foo,
% tla foo -H
affiche la documentation de cette commande.
Un Wiki (site internet édité de manière collective) créé par la communauté des utilisateurs de arch est disponible à :
Ce site comporte des comparaisons avec d'autres systèmes de contrôle de versions, des exemples de plusieurs utilisations possibles de arch, des recettes pour les tâches communes et des liens vers de nombreux outils, tels que des « shell wrappers » puissants et des explorateurs d'archive (web-based archive browsers). Les contributions et les questions de nouveaux utilisateurs sont bienvenues sur le Wiki -- à l'heure où ces lignes sont écrites, le Wiki ne requiert pas encore d'inscription pour y écrire ou y effectuer des modifications. (Cela dit, le revers de la médaille de cet accès ouvert est que l'information qui y est consignée ne doit pas être tenue pour parole d'évangile, dès lors qu'un petit malin pourrait y avoir délibérément semé le trouble ou -- plus vraisemblablement -- un débutant pourrait avoir publié des informations fausses.)
Arch est différent des anciens (et concurrents) systèmes au point que les nouveaux utilisateurs sont souvent un peu désorientés dans les premiers jours de son utilisation. On pourra trouver utile de chercher de l'aide sur la liste de discussion « gnu-arch-users », que l'on peut trouver sur :
http://www.gnu.org/software/gnu-arch
Si vous avez des besoins particuliers qu'arch ne semble pas être en mesure de satisfaire, certains membres de la liste de discussions « gnu-arch-users » sont disponibles pour des travaux de consultants. Cependant, parlez de vos propositions sur la liste de discussion en premier lieu -- il peut arriver que ce dont vous avez besoin soit déjà supporté, mais pas d'une manière évidente.
Un « système de contrôle de révision » est un outil de catalogage et de coordination pour des arborescences de fichiers et pour les modifications qu'on y apporte. Par exemple, un projet type de logiciel utilise le contrôle de révision pour suivre le développement du code source à travers le temps, pour garder une trace de chaque modification qui a été apportée à ce code (par exemple chaque correction de bogue ou ajout de fonctionnalité), pour partager ces modifications avec tous les programmeurs qui travaillent sur le projet et les aider à rester synchronisés, en combinant les modifications effectuées à des moments différents et/ou par des programmeurs différents en une seule et même arborescence.
Un « outil de gestion de code source » aide à gérer un grand nombre de fichiers bien plus grand que ce que vous pourriez faire « à la main ». Par exemple, un outil de gestion de code source est capable d'établir l'inventaire des fichiers dans une arborescence, de faire la distinction entre les fichiers sources et les fichiers temporaires (scratch files) et d'autres fichiers qui peuvent être archivés. On peut également être averti des fichiers sources ajoutés ou effacés.
La « gestion de configuration » rejoint les attentes de projets qui combinent des arborescences multiples et séparées en une seule arborescence. Un outil de gestion de configuration facilite la mise en place du projet « combiné » et de garder la trace de la façon dont le développement des parties qui le constituent est synchronisé.
Pourquoi utiliser arch ?
Arch présente de nombreux avantages, comparé aux autres systèmes de contrôle de révision. Notamment :
Il travaille sur l'ensemble de l'arborescence
Arch suit l'ensemble de l'arborescence -- et pas seulement des fichiers individuels. Par exemple, on peut changer de nombreux fichiers dans une arborescence, arch peut enregistrer tous ces changements comme un ensemble de changements, plutôt que fichier par fichier. Si on renomme les fichiers ou si on réorganise l'arborescence, arch est capable d'enregistrer ces modifications, de la même manière qu'il le fait lors des modifications de fichiers.
Il est orienté changeset
Arch ne crée pas uniquement des snapshots des arborescences de vos projets. Il associe plutôt chaque révision avec un changeset particulier : une description précise de ce qui a changé. Arch fournit ainsi des commandes orientées changeset qui facilitent la relecture de ces changements, la fusion (merge) d'arborescences en appliquant les modifications, l'analyse de l'historique d'une arborescence en demandant quels changements y ont été appliqués, et ainsi de suite.
Intégralement réparti
Arch ne repose pas sur une « distribution centralisée ». Par exemple, il n'est pas indispensable de donner un accès en écriture à tous les contributeurs importants d'un projet. Au lieu de cela, chaque contributeur peut avoir sa propre archive pour son travail. Arch opère en souplesse parmi les liens entre les archives.
Version du 31/05/2004 21h18 : wilk@flibuste.net--libre docs-tla--fr--1.0 patch-99 ... base-0