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