Partager via


Application d'attributs FileSystem d'Unix aux fichiers sous contrôle de version

Si vous utilisez Eclipse sur un ordinateur qui fonctionne sous Unix, vous pouvez stocker des attributs du système de fichiers Unix avec les fichiers que vous archivez dans le contrôle de version. Par exemple, vous pouvez spécifier qu'un fichier sous contrôle de version est rendu exécutable lorsqu'il est récupéré à partir du contrôle de version. Visual Studio Team Foundation Server ne fournit aucun moyen de stocker ces informations avec le fichier ajouté au contrôle de version. Toutefois, vous pouvez spécifier un fichier nommé .tpattributes dans n'importe quel dossier de travail. Si ce fichier existe lorsque vous extrayez des fichiers à partir du contrôle de version, le contenu de ce fichier spécifie les attributs qui doivent être définis sur les fichiers de ce dossier.

Vous pouvez ajouter le fichier .tpattributes au contrôle de version. Lorsqu'un membre de l'équipe extrait ce fichier dans son dossier de travail, Team Explorer Everywhere définit les attributs en fonction du contenu du fichier. Si le fichier .tpattributes est supprimé du disque, les opérations get suivantes sur les fichiers contenus dans ce répertoire rétabliront les états par défaut de leurs attributs. Les états par défaut des attributs sont également rétablis pour les fichiers dont les lignes .tpattributes sont supprimées ou converties en commentaires.

Format du fichier .tpattributes

Le fichier .tpattributes est un fichier texte de format simple. Vous devez créer ce fichier manuellement.

Notation BNF (Backus-Naur Form)

La syntaxe du fichier .tpattributes, telle que représentée au format BNF, est la suivante :

    <.tpattributes>         ::= { <line> }
    <line>                  ::= <comment-line> | <directive-line> <EOL>
    <comment-line>          ::= "#" <ignored-text>
    <directive-line>        ::= <file-expression> ":" <attribute> { "|" <attribute> }
    <attribute>             ::= <boolean-attribute> | <string-pair-attribute>
    <string-pair-attribute> ::= <key> "=" <value>

La plupart des espaces blancs sont ignorés lorsque Team Explorer Everywhere analyse ce fichier. Les espaces blancs de début et de fin sont ignorés lors de l'analyse de <line>, <file-expression>, <boolean-attribute>, <key> et <value>. Les lignes incorrectes sont ignorées. Les attributs inconnus sont également ignorés et d'autres attributs reconnus sont encore appliqués.

Exemple de fichier .tpattributes

    # Lines that begin with #, like this one, are ignored.
    build.sh:x
    README.txt:y|z=m
    include:link=$/Project/include
    docs:link=../extras/docs
    # The following line makes all Perl files executable.
    .*\.pl:x
    # The following line matches both \"cleanzpl\" as well as \"clean.pl\" and sets both the x and u attributes.
    clean.pl:x|u

Le premier champ d'une ligne autre qu'une ligne de commentaire est un nom de fichier ou une expression régulière, sans informations relatives au début du chemin d'accès. Ce nom de fichier ou cette expression fait référence à un fichier ou répertoire situé dans le même répertoire que le fichier .tpattributes. Le nom de fichier se termine par deux-points (qui ne sont pas autorisés par Team Foundation Server dans ses chemins d'accès de fichier et ne sont pas des caractères spéciaux d'expression régulière). La partie après les deux-points est une liste d'attributs, qui s'appliquent à l'élément nommé, délimités par une barre verticale (|). Un attribut est un attribut de paire de chaînes (par exemple, « link=$/Projet/include ») ou un attribut booléen (par exemple, « x »).

Attributs pris en charge

Team Explorer Everywhere prend en charge les attributs suivants dans le fichier .tpattributes. Les descriptions de chaque attribut spécifient les attributs qui peuvent être associés.

x

Cet attribut représente une valeur booléenne qui spécifie que le fichier nommé sera rendu exécutable après son écriture sur le disque. Cet attribut est pris en charge par Team Explorer Everywhere uniquement sur les ordinateurs qui exécutent Unix (notamment Mac OS X) et ne peut pas être appliqué aux répertoires. Team Explorer Everywhere activera les bits d'exécution en fonction du masque de création de fichier (umask) pour cet utilisateur. L'attribut x peut en général être associé à d'autres attributs (à quelques exceptions près).

Lorsque plusieurs fichiers sont mis en correspondance par une expression régulière, l'attribut exécutable est appliqué à tous les fichiers.

link=<path>

Cet attribut se compose d'une paire de chaînes et spécifie qu'un lien symbolique doit être créé à la place du nom de fichier spécifié sur cette ligne de directive. Ce fichier doit exister dans le contrôle de version pour permettre la création d'un lien. Le contenu du fichier est ignoré si un lien doit être créé à la place.

La valeur de l'attribut link est le chemin d'accès relatif ou absolu d'un serveur qui exécute Team Foundation Server, et ce chemin d'accès spécifie où le lien symbolique doit pointer. Avant de créer un lien symbolique, Team Explorer Everywhere vérifie si la destination du lien est mappée à un dossier de travail dans l'espace de travail Team Foundation Server actuel. Dans l'affirmative, le lien est créé pour pointer vers l'élément sur le disque. Si la destination n'est pas mappée, le lien symbolique n'est pas créé, car Team Explorer Everywhere ne peut pas déterminer la cible du lien. Lorsque cela se produit, le contenu du fichier Team Foundation Server est inséré à la place sur le disque.

Lorsque plusieurs fichiers sont mis en correspondance par une expression régulière, chaque fichier est créé en tant que lien vers la valeur de lien.

local-link=<path>

Cet attribut se compose d'une paire de chaînes qui spécifie qu'un lien symbolique doit être créé à la place du nom de fichier spécifié sur cette ligne de directive. Ce fichier doit exister dans le contrôle de version pour permettre la création d'un lien. Le contenu du fichier est ignoré si un lien doit être créé à la place.

La valeur de l'attribut local-link est un chemin d'accès local littéral qui spécifie la cible du lien symbolique. Le chemin d'accès local n'est pas interprété par le client pour Team Explorer Everywhere. Le chemin d'accès local est fourni au système d'exploitation et peut être tout style de chemin d'accès (relatif ou absolu) accepté par la fonction symlink du système d'exploitation.

Lorsque plusieurs fichiers sont mis en correspondance par une expression régulière, chaque fichier est créé en tant que lien vers la valeur de lien.

L'attribut local-link se substitue à l'attribut link si les deux sont spécifiés pour un fichier. Par exemple, si link est appliqué à une expression régulière qui correspond à tous les fichiers .txt (".*\.txt"), mais que local-link est appliqué pour file.txt, un lien local est créé pour file.txt.

client-eol=<eol-style>

Cet attribut se compose d'une paire de chaînes qui permet la conversion automatique de fins de ligne au style nommé lorsqu'un fichier est écrit dans un dossier de travail pendant une opération get. Un des attributs client-eol et server-eol (ou les deux) peut être défini pour un fichier. Lorsque cet attribut est défini pour un fichier, tous les styles de ligne de fins de ligne sont convertis dans le style nommé.

Avertissement

Vous ne devez définir cet attribut que pour les fichiers texte dont l'encodage est pris en charge par votre environnement d'exécution Java. Si vous définissez cet attribut pour des fichiers autres que des fichiers texte, le contenu des fichiers peut être endommagé.

L'attribut client-eol a pour valeur l'un des styles de fin de ligne suivants :

eol-style

Séquence de saut de ligne utilisée

lf

Unicode U+000A, utilisé sur les systèmes d'exploitation Unix, notamment Mac OS X

crlf

Unicode U+000D, U+000A, utilisé sur les systèmes d'exploitation Windows

cr

Unicode U+000D, utilisé sur les systèmes d'exploitation Mac OS antérieurs (System 9 et précédents)

native

Style par défaut utilisé sur le système d'exploitation de l'ordinateur sur lequel vous exécutez le client pour Team Explorer Everywhere

Exemples

Makefile: client-eol=native
build.sh: x | client-eol=lf

server-eol=<eol-style>

Cet attribut se compose d'une paire de chaînes qui permet la conversion automatique de fins de ligne au style nommé lorsqu'un fichier est envoyé au serveur pour une opération d'archivage ou de réservation. Un des attributs client-eol et server-eol (ou les deux) peut être défini pour un fichier. Lorsque cet attribut est défini pour un fichier, tous les styles de ligne de fins de ligne sont convertis dans le style nommé.

Avertissement

Vous ne devez définir cet attribut que pour les fichiers texte dont l'encodage est pris en charge par votre environnement d'exécution Java. Si vous définissez cet attribut pour des fichiers autres que des fichiers texte, le contenu des fichiers peut être endommagé.

L'attribut server-eol a pour valeur l'un des styles de fin de ligne, tel que décrit dans le tableau précédent pour l'attribut client-eol.

Exemples

win32-module.c: client-eol=native | server-eol=crlf
Makefile.MacOS9: server-eol=cr

transform=<format>

Cet attribut se compose d'une paire de chaînes qui permet la conversion automatique d'un format de fichier natif sur le client en un autre format sur l'instance de Team Foundation Server. Le fichier est transformé lorsqu'il est envoyé au serveur pour une opération d'archivage ou de réservation, et est transformé dans son format natif lorsqu'il est extrait du serveur par une opération get.

La valeur de l'attribut transform est l'une des techniques d'encodage suivantes :

Transform

Encodage utilisé

apple

Entraîne la conservation des métadonnées spécifiques à Mac OS dans un fichier sur le système de fichiers local, notamment le resource fork, les infos du Finder et les commentaires du Finder. Sans cet attribut, les resource fork ne seront pas archivés dans Team Foundation Server.

RemarqueRemarque
Cette valeur d'attribut est prise en charge uniquement pour les clients Team Explorer Everywhere sur les ordinateurs qui exécutent le système d'exploitation Mac OS X.Sur d'autres systèmes d'exploitation, cette valeur est ignorée.

Exemples

MacOS9Application: x | transform=apple

Voir aussi

Autres ressources

Copie de fichiers sous contrôle de version (Team Explorer Everywhere)

Exclusion des ressources du projet Eclipse du contrôle de version