Par défaut, quand vous récupérez (get) une révision d'une archive, arch enregistre une copie de base (« pristine copy ») de cette révision dans le répertoire {arch}.
Par défaut également, quand vous récupérez une révision (get), arch construit la révision en cherchant l'ascendant import ou l'ascendant le plus récent mis en cache -- puis applique les derniers patchs pour construire la révision que vous souhaitez.
get et les opérations similaires peuvent être accélérées et utiliser moins de place en utilisant les bibliothèques de révisions. Par exemple, si get trouve la révision que vous demandez dans une bibliothèque, il va la copier directement à partir de là (plutôt que de la construire à partir des patchs) et évitera de créer une copie locale (« pristine copy ») dans le répertoire {arch}.
Tout ça est très bien -- mais il peut devenir pénible d'avoir à se souvenir d'ajouter (library-add) pour chaque révisions à votre bibliothèque. Cette section vous montrera comment automatiser ce processus.
Dans le cas d'une « bibliothèque de révision avide », lorsque arch regarde si elle contient une révision donnée, et qu'elle ne la contient pas, arch l'ajoutera automatiquement.
Vous pouvez rendre une bibliothèque de révision avide avec la commande :
% tla library-config --greedy DIR
Quand arch ajoute une révision à une bibliothèque avide, normalement il le fait à la manière habituelle de library-add : il ajoute également toutes les révisions précédentes de la même version.
Si vous ajoutiez une révision, dans une bibliothèque, à la main vous pourriez l'éviter en utilisant l'option --sparse de library-add. Pour obtenir ce comportement pour les révisions ajoutés automatiquement, utilisez :
% tla library-config --sparse DIR
qui signifie que si une révision est automatiquement ajoutée dans la bibliothèque située à DIR, elle sera ajoutée avec l'option --spare de la commande library-add utilisée.
Attention!
Pour éviter des confusions, n'utilisez pas le dispositif suivant si vous ne comprenez pas (a) ce qu'est un lien physique (« hard-link ») et (b) ce que signifie pour un éditeur de « casser un lien physique en éditant un fichier ». Si vous comprenez ces termes, et savez que l'éditeur que vous utilisez va effectivement casser le lien physique, utilisez le dispositif à votre aise.Vous pouvez rapidement récupérer (get) une révision d'une bibliothèque sans la recopier, mais à la place en créant un lien physique vers celle-ci :
% tla get --link REVISION
La commande build-config a une option similaire :
% tla build-config --link REVISION
Cela peut préserver énormément d'espace disque et accélérer l'opération get.
(Lorsque vous utilisez une arborescence liée physiquement il y a bien sûr une petite chance pour que les choses n'aillent pas comme prévu et que vous modifiiez un fichier de la révision de la bibliothèque. Dans ce cas, arch le remarquera et affichera un message d'erreur vous demandant d'enlever et reconstruire la révision dans la bibliothèque).
Pour résumer, une configuration pratique et efficace implique :
Lorsque vous travaillez de cette manière, arch va ajouter les révisions dans les bibliothèques automatiquement, il va chercher les bibliothèques à l'emplacement (device) approprié (pour les liens physiques). Parmis ceux-là il va chercher en premier pour une bibliothèque qui contient déjà la même version que la révision que vous souhaitez et, sinon, pour une bibliothèque avide.
Version du 28/05/2004 11h55 : wilk@flibuste.net--libre docs-tla--fr--1.0 patch-97 ... base-0