Adaptation de la convention de nommage dans l'inventaire

Dans « inventaire d'une arborescence », vous avez appris comment la commande tla inventory classait les fichiers dans un projet suivant une convention de nommage. Cette section explique comment vous pouvez adapter cette convention de nommage.

Quand adapter la convention de nommage ?

Il est préférable d'effectuer l'adaptation de la convention de nommage au début : avant l'import de la première révision.

Si vous devez faire des changements plus tard, alors il est impératif que vos changements ne changent pas la classification des fichiers déjà présents dans les dernières révisions de votre projet au moment ou vous faites les changements (sinon, vous risquez d'obtenir un comportement étrange et indésirable).

Comment adapter une convention de nommage ?

Vous devriez commencer par revoir l'algorithme de la convention de nommage dans « La convention de nommage de arch ». Vous pouvez modifier cet algorithme en modifiant les expressions rationnelles (regexp) utilisées pour chaque test de catégorie.

Vous pouvez adapter la convention de nommage en modifiant le fichier ./{arch}/=tagging-method de votre arborescence. Ce fichier est créé et initialisé par la commande id-tagging-method, il contient une ligne qui nomme la méthode d'identification (names, explicit, tagline, (ou implicit, obsolète maintenant, mais utilisé dans quelques vieux projets, y compris arch lui-même)).

En particulier, =tagging-method peut contenir des lignes vides et des commentaires (lignes commençant par « # ») et directives, une par ligne. Les directives permises sont :

tagline
implicit
explicit
names
        spécifie la méthode d'identification utilisée pour 
        cette arborescence

exclude RE
junk RE
backup RE
precious RE
unrecognized RE
source RE
        spécifie une expression rationnelle à utiliser pour
        indiquer la catégorie des fichiers

Les expressions rationnelles sont spécifiées dans la syntaxe « Posix ERE » (la même syntaxe utilisée par egrep, grep -E, et awk) et ont comme valeurs par défaut l'implémentation de la convention de nommage décrite dans « La convention de nommage de arch ».

Une directive d'expression rationnelle peut être utilisée plusieurs fois, dans chaque cas les expressions sont concaténées comme alternatives. Ainsi, par exemple :

source  .*\.c$
source  .*\.h$

est équivalent à :

source (.*\.c$)|(.*\.h$)

Expressions rationnelles par répertoire

Le répertoire de l'arborescence peut contenir un fichier .arch-inventory.

Le fichier .arch-inventory peut contenir des déclarations d'expressions rationnelles de la même manière que dans =taging-method (c'est-à-dire, une pour excludes, une pour junk etc.) Appelons les « dir-local ».

Lors du parcours de l'arborescence, chaque fichier est classé par son nom comme cela. Les étapes changées par .arch-inventory sont marquées par [*] :

  1. "." et ".." restent exclues, de toutes façons.
  2. [*] si les fichiers exclus ont été omis de l'inventaire, et soient de dir-local ou des expressions globales, le fichier est exclu.
  3. si le fichier est un fichier de contrôle, c'est un source.
  4. si le fichier tombe dans une des « catégories formelles » (les fichiers ",," et "++") il est classé respectivement comme junk ou precious.
  5. [*] les expressions de dir-local sont testées dans l'ordre habituel : « junk, backup, precious, unrecognized, source ». Si le fichier correspond, il est convenablement classé.
  6. Les expressions globales sont testées dans le même ordre.
  7. Dans les autres cas, le fichier est « unrecognized ».
Version du 18/09/2004 21h14 : wilk@flibuste.net--libre   docs-tla--fr--1.0     patch-102 ... base-0