Dans les chapitres précédents, vous avez appris à créer votre première archive, démarrer un projet, récupérer l'arborescence initiale et les modifications consécutives, et récupérer les révisions précédentes.
Dans ce chapitre vous allez apprendre à créer une archive disponible sur le réseau et vous initier au partage d'archive entre plusieurs développeurs.
Souvenez-vous, une archive a à la fois un nom logique et un emplacement physique.
% tla archives
lord@emf.net--2003-example
^^^^^^^^^^^^^^^^^^^^^^^^^^
| /usr/lord/{archives}/2003-example
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
| archive location
|
archive name
(voir « créer une nouvelle archive »)
Certaines archives peuvent être accessibles à travers le réseau, pour l'instant à partir des protocoles suivants :
FTP SFTP WebDAV plain HTTP
Plus loin dans ce chapitre, vous apprendrez comment créer de telles archives.
Pour l'instant, vous devez savoir que pour accéder à une telle archive, vous devez inscrire son nom et son emplacement physique, en utilisant une URL pour l'emplacement physique.
Par exemple, pour accéder à une archive par HTTP ou WebDAV :
% tla register-archive lord@emf.net--2003b \
http://regexps.srparish.net/{archives}/lord@emf.net--2003b
ou par FTP :
% tla register-archive lord@regexps.com--2002 \
ftp://ftp.regexps.com/{archives}/lord@regexps.com--2002
Vous pouvez voir que ces commandes ont eu un effet :
% tla archives
lord@emf.net--2003b
http://regexps.srparish.net/{archives}/lord@emf.net--2003b
lord@emf.net--2003-example
/usr/lord/examples/{archives}/2003-example
lord@regexps.com--2002
ftp://ftp.regexps.com/{archives}/lord@regexps.com--2002
Après avoir enregistré de nouvelles archives, comment y accéder ?
La manière la plus simple est de rendre l'archive souhaitée comme archive par défaut.
% tla my-default-archive lord@emf.net--2003 % tla categories [...categories de l'archive distante...]
Il n'est pas toujours souhaitable de changer l'archive par défaut. Pour l'instant, remettons par défaut l'archive que l'on a utilisée pour les exemples.
% tla my-default-archive lord@emf.net--2003-example
Toutes les commandes qui opèrent sur des archives acceptent l'option -A qui permet d'outrepasser la valeur par défaut :
% tla my-default-archive lord@emf.net--2003-example % tla categories -A lord@emf.net--2003 [... categories de lord@emf.net--2003 ...]
Note
L'option -A a priorité par rapport à l'archive par défaut mais est surpassée par un nom de projet pleinement qualifié (voir ci-après).Les commandes qui acceptent un nom de projet prennent en compte l'utilisation d'un nom pleinement qualifié. C'est à dire formé en faisant précéder le nom du projet par le nom de l'archive suivie d'une barre oblique.
category name: tla => lord@emf.net--2003/tla branch name: tla--devo => lord@emf.net--2003/tla--devo version name: tla--devo--1.0 => lord@emf.net--2003/tla--devo--1.0 revision name: tla--devo--1.0--patch-1 => lord@emf.net--2003/tla--devo--1.0--patch-1
Dans cet exemple :
% tla my-default-archive lord@emf.net--2003-example % tla branches lord@emf.net--2003/hello-world [... branches de hello-world dans lord@emf.net--2003 ...]
Note
Un nom de projet pleinement qualifié est prioritaire sur l'option -A et l'archive par défaut.Le système d'exploitation et les contrôles d'accès au niveau du serveur peuvent être utilisés pour limiter l'accès à certains ou à tous les utilisateurs en lecture seule. Par exemple, FTP est généralement configuré pour que les utilisateurs anonymes puissent lire, mais pas modifier l'archive.
Un « miroir » est une archive dont le contenu est dupliqué à partir d'une autre archive. Vous ne pouvez pas archiver vers un miroir de la manière habituelle, vous pouvez seulement mettre à jour cette copie à partir de sa source.
Il y a deux utilisations principales des miroirs d'archives : une est de faire une copie locale d'un miroir distant (pour pouvoir accéder à son contenu sans passer par le réseau); l'autre est de faire une copie distante d'une archive locale (pour que d'autres puissent y accéder).
Supposons que, pour avoir un accès le plus rapide possible, ou pour pouvoir travailler dessus en étant déconnecté, vous vouliez créer un miroir local d'une archive distante pour y accéder localement plutôt que par le réseau.
Supposons que vous vouliez le faire avec lord@emf.net--2003b, il y a trois étapes (supposons que $remote_location soit quelque chose du genre http://my.site.com//archives/lord@emf.net--2003b).
Premièrement, enregistrer l'archive distante sous un nouveau nom, formé en ajoutant -SOURCE à son nom :
% tla register-archive lord@emf.net--2003b-SOURCE $remote_location
Ensuite, créer le miroir local :
% tla make-archive --mirror-from lord@emf.net--2003b-SOURCE $local_location
Cette commande va en même temps inscrire lord@emf.net--2003b comme nom du miroir local.
Une fois que l'archive distante a été inscrite, vous pouvez mettre à jour votre miroir en répétant l'étape tla archive-mirror.
Si vous ne voulez pas créer un miroir de l'archive entière, vous pouvez en option limiter le miroir à certaines catégories, branches, ou versions. (voir tla archive-mirror -H).
Supposons que vous ayez une archive locale mine@somewhere.com, et que vous souhaitiez « publier » un miroir de cette archive sur Internet pour que d'autres puissent la lire.
Admettons que vous ayez déjà inscrit mine@somewhere.com, vous pouvez créer un miroir distant avec :
% tla make-archive --mirror mine@somewhere.com $remote_location
Arch va écrire directement sur $remote_location, il faut donc y avoir un accès en écriture comme avec SFTP, mais pas comme avec HTTP.
Vous pouvez initialiser ou mettre à jour le contenu de ce miroir distant avec :
% tla archive-mirror mine@somewhere.com
Une situation courante pour de nombreuses personnes est de pouvoir installer des fichiers statiques sur un site web, mais sans pouvoir y fournir un accès WebDAV. Même dans ces conditions, vous pouvez toujours publier une archive arch avec, cependant, quelques subtilités.
Premièrement, lors du make-archive, vous devez utiliser une option supplémentaire :
% tla make-archive --listing --mirror mine@somewhere.com \
$remote_location
L'option --listing permet de conserver un fichier .listing à jour sur le miroir, ce qui permet, du coup, d'autoriser les gens à accéder à l'archive à partir d'un simple HTTP (sans le support WebDAV).
Deuxièmement, il peut arriver que le fichier .listing ne soit plus à jour (par exemple, si vous tuez une commande archive-mirror au mauvais moment. Si vous savez ou si vous soupçonnez que c'est arrivé, vous pouvez réparer l'archive en question en lançant archive-fixup comme dans notre exemple :
% tla archive-fixup mine@somewhere.com-MIRROR
Même si la création de miroir est courante pour les dépôts distants, il est possible de créer un dépôt distant qui ne soit pas un miroir, et ainsi pouvoir archiver sur celui-ci directement.
On peut créer un dépôt distant avec cette commande :
% tla make-archive $archive_name $remote_location
Ou créer un dépôt distant avec un fichier .listing :
% tla make-archive --listing $archive_name $remote_location
Rien n'empêche de rendre une archive disponible à partir de méthodes différentes. Par exemple, vous pouvez rendre une archive de votre système de fichier local accessible par FTP, vous devrez indiquer aux autres utilisateurs de l'inscrire en tant que FTP (avec une url ftp:)
Version du 18/09/2004 21h14 : wilk@flibuste.net--libre docs-tla--fr--1.0 patch-102 ... base-0