logo chat

Contact/Email

printImpression

Valid XHTML 1.0!

william dodé

Traduction du tutoriel Arch de Thomas Lord

Archives partagées et publiques

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.

Inscrire une archive pour un accès en réseau

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

Travailler avec plusieurs archives à la fois

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

Sélectionner une archive avec -A

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).

Nom de projet pleinement qualifié

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.

Archives en lecture seule

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.

Créer des miroirs locaux, distants, et des archives distantes

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).

Créer un miroir local d'une archive distante

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).

Créer un miroir distant d'une archive locale

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

Créer un dépôt distant

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

Mélanger des modes d'accès différents

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