Propriétés dans Subversion

Avec Subversion, les utilisateurs peuvent définir des propriétés au nom arbitraire, gérées en versions, sur les fichiers et les répertoires, ainsi que des propriétés non gérées en versions sur les révisions. La seule restriction concerne les propriétés dont le nom commence par svn: (elles sont réservées pour l'usage propre de Subversion). Bien que ces propriétés puissent être définies par les utilisateurs pour modifier le comportement de Subversion, ceux-ci ne devraient pas définir de nouvelles propriétés svn:.

Propriétés gérées en versions

Voici les propriétés gérées en versions utilisées par Subversion pour son usage propre :

svn:executable

Si elle est définie sur un fichier, le client active le bit d'exécution du fichier dans les copies de travail sur les machines de type Unix. Voir la section intitulée « Fichiers exécutables ou non ».

svn:mime-type

Si elle est définie sur un fichier, sa valeur indique le type MIME du fichier. Ceci permet au client de décider si la fusion contextuelle basée sur les lignes est pertinente au cours des mises à jour ; cela peut aussi affecter l'affichage du fichier par un navigateur Web. Voir la section intitulée « Type de contenu des fichiers ».

svn:ignore

Si elle est définie sur un répertoire, sa valeur est la liste des motifs de fichiers non gérés en versions qui doivent être ignorés par les commandes svn status et les autres sous-commandes. Voir la section intitulée « Occultation des éléments non suivis en versions ».

svn:keywords

Si elle est définie sur un fichier, sa valeur indique au client comment substituer certains mots-clés à l'intérieur du fichier. Voir la section intitulée « Substitution de mots-clés ».

svn:eol-style

Si elle est définie sur un fichier, sa valeur indique au client quelle convention adopter pour les marqueurs de fin de ligne dans la copie de travail et dans les exports d'arborescences. Voir la section intitulée « Caractères de fin de ligne » et svn export plus en amont dans ce chapitre.

svn:externals

Si elle est définie sur un répertoire, sa valeur est une liste, chaque élément sur une ligne, de chemins et d'URL à extraire par le client. Voir la section intitulée « Définition de références externes ».

svn:special

Si elle est définie sur un fichier, elle indique que le fichier n'est pas un fichier ordinaire mais un lien symbolique ou un autre objet spécial[60].

svn:needs-lock

Si elle est définie sur un fichier, indique au client de marquer ce fichier en lecture seule dans la copie de travail, de façon à ce que cela rappelle que ce fichier devrait être vérouillé avant édition. Voir la section intitulée « Communication par l'intermédiaire des verrous ».

svn:mergeinfo

Cette propriété est utilisée par Subversion pour suivre les données fusionnées. Voir la section intitulée « Mergeinfo et aperçus » pour plus de détails. Vous ne devriez jamais modifier cette propriété à moins de savoir vraiment ce que vous faîtes.

Propriétés non gérées en versions

Voici les propriétés non gérées en versions que Subversion réserve à son usage propre :

svn:author

Si elle est définie, la valeur est l'identifiant (authentifié) de l'utilisateur qui a créé la révision. Si elle n'est pas définie, la révision a été propagée de manière anonyme.

svn:date

La valeur de cette propriété est la date et l'heure UTC de création de la révision, au format ISO 8601. La valeur est issue de l'horloge du serveur, pas de celle du client.

svn:log

La valeur est l'entrée du journal pour la révision.

svn:autoversioned

Si cette propriété est définie, la révision a été créée par un mécanisme de gestion de versions automatique. Voir la section intitulée « Gestion de versions automatique ».



[60] Au moment de l'écriture de ce livre, les liens symboliques sont en fait les seuls objets « spéciaux ». Mais il est envisageable qu'il y ait d'autres objets dans les futures versions de Subversion.