Aplicando Atrivutos de Sistema de arquivos Unix a Arquivos sob Controle de Versão

Se você trabalhar com a Eclipse em um computador executando Unix, você pode desejar armazenar os atributos do sistema de arquivo Unix nos arquivos que você fizer o check-in em controle de versão. Por exemplo, você pode desejar especificar que um arquivo em controle de versão seja feito executável quando recuperado do controle de versão. O Visual Studio Team Foundation Server não fornece meios para armazenar estas informações no arquivo que é acrescentado ao controle de versão. Porém, você pode especificar um arquivo nomeado .tpattributes em qualquer pasta de trabalho. Se aquele arquivo existir quando você recuperar arquivos de controle de versão, os conteúdos daquele arquivo especificarão quais atributos devem ser definidos em arquivos naquela pasta.

Você pode adicionar o arquivo .tpattributes ao controle de versão. Quando qualquer membro da equipe recuperar aquele arquivo à sua pasta de trabalho, o Team Explorer Everywhere definirá atributos baseados nos conteúdos do arquivo. Se o arquivo .tpattributes for excluído do disco, as operações subsequentes de get nos arquivos daquele diretório farão com que seus atributos revertam aos seus estados padrão. Atributos também revertem aos seus estados padrão para arquivos cujas linhas de .tpattributes são removidas ou feitas nos comentários.

Formato do Arquivo .tpattributes

O arquivo .tpattributes é um arquivo de texto em um formato simples. Você deve criar este arquivo manualmente.

Formato Backus-Naur (BNF)

A sintaxe do arquivo .tpattributes, representado em BNF, é a seguinte:

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

A maioria do espaço em branco é ignorado quando Team Explorer Everywhere analisa este arquivo. Os espaços em branco à direita e à esquerda são ignorados ao analisar gramaticalmente <line>, <file-expression>, <boolean-attribute>, <key>, and <value>. Linhas mal formadas são ignoradas. Atributos desconhecidos também são ignorados e outros atributos reconhecidos ainda se aplicam.

Arquivo .tpattributes de exemplo

    # 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

O primeiro campo de uma linha não comentário é um nome de arquivo ou expressão regular, sem qualquer informação de entrelinhamento de caminho. Este nome de arquivo ou expressão recorre a um arquivo ou diretório no mesmo diretório onde o arquivo .tpattributes existe. O nome de arquivo é terminado por uns dois-pontos (que o Team Foundation Server não permite em seus caminhos de arquivos e não é um caractere de expressão regular especial). A parte depois dos dois-pontos é uma lista de atributos, todos se aplicam ao item nomeado, delimitados por um caractere de barra vertical (|). Um atributo é um atributo par de sequência (por exemplo, "link=$/Project/include") ou um atributo booleano (por exemplo, "x").

Atributos Suportados

Team Explorer Everywhere suporta os seguintes atributos no arquivo .tpattributes. As descrições para cada atributo especificam quais atributos podem ser combinados.

x

Este atributo representa um valor booleano que especifica que o arquivo nomeado será feito executável depois que seja escrito no disco. Este atributo é suportado pelo Team Explorer Everywhere apenas em computadores que estão executando o Unix (isto inclui o Mac OS X) e não pode ser se aplicado aos diretórios. Team Explorer Everywhere se ativarão nos bits de execução de acordo com a umask daquele usuário. O atributo x geralmente pode ser combinado com outros atributos (algumas exceções se aplicam).

Quando vários arquivos são correspondidos por uma expressão regular, o atributo executável é aplicado a todos os arquivos.

link=<path>

Este atributo consiste de um par de sequência e especifica que um link simbólico deve ser criado no lugar do nome de arquivo que foi especificado nesta linha diretiva. Este arquivo deve existir em controle de versão para um link ser criado. Os conteúdos do arquivo serão ignorados se um link for criado em seu local.

O valor do atributo link é um caminho relativo ou absoluto de um servidor que está executando Team Foundation Servere este caminho especifica para onde o link simbólico deve apontar. Antes de Team Explorer Everywhere criar um link simbólico, verifique se o destino de link está mapeado para uma pasta de trabalho no espaço de trabalho Team Foundation Server atual. Nesse caso, o link é criado para apontar ao item no disco. Se o destino não for mapeado, o link simbólico não será criado porque o Team Explorer Everywhere não pode determinar o destino do link. Quando isto ocorrer, os conteúdo de arquivo de Team Foundation Server serão colocados em disco.

Quando vários arquivos são correspondidos por uma expressão regular, cada arquivo é criado como um link ao valor de link.

local-link=<path>

Este atributo consiste de um par de sequência que especifica que um link simbólico deve ser criado no lugar do nome de arquivo especificado nesta linha diretiva. Este arquivo deve existir em controle de versão para um link ser criado. Os conteúdos do arquivo serão ignorados se um link for criado em seu local.

O valor do atributo local-link é um caminho local literal que especifica o destino do link simbólico. O caminho local não é interpretado por qualquer cliente de Team Explorer Everywhere. O caminho local é dado ao sistema operacional e pode ser qualquer estilo de caminho (relativo ou absoluto) aceito pela função symlink do sistema operacional.

Quando vários arquivos são correspondidos por uma expressão regular, cada arquivo é criado como um link ao valor de link.

O atributo local-link substitui o atributo link se ambos forem especificados para um arquivo. Por exemplo, se link for aplicado a uma expressão regular que corresponda a todos os arquivos .txt (". * \.txt"), mas o local-link é aplicado para file.txt, um link local é criado para file.txt.

client-eol=<eol-style>

Este atributo consiste em um par de sequência que habilita conversão automática de fins de linha ao estilo nomeado quando um arquivo é escrito à pasta de tranalho durante uma operação de get. Um arquivo pode ter um ou ambos os atributos definidos de client-eol e server-eol . Quando este atributo for definido para um arquivo, todos os estilos de terminação de linhas serão convertidos ao estilo nomeado.

Aviso

Você tem que definir apenas este atributo para arquivos de texto em codificações que são suportadas pelo Java runtime. Se você definir este atributo para arquivos que não sejam de texto, o conteúdo dos arquivos podem ser danificados.

O valor do atributo client-eol é um dos seguintes estilos de final de linha:

estilo eol

Sequência newline usada

lf

Unicode U+000A, usado em sistemas operacionais Unix incluindo o Mac OS X

crlf

Unicode U+000D, U+000A, usado em sistemas operacionais Windows

cr

Unicode U+000D, usado em sistemas operacionais de Mac OS mais antigos (Sistema 9 e anteriores)

nativo

O estilo padrão usado no sistema operacional do computador onde você executa qualquer cliente para Team Explorer Everywhere

Exemplos

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

server-eol=<eol-style>

Este atributo consiste em um par de sequência que habilita conversão automática de fins de linha ao estilo nomeado quando um arquivo é enviado ao servidor para uma operação de check-in ou check-in particular. Um arquivo pode ter um ou ambos os atributos definidos de client-eol e server-eol . Quando este atributo for definido para um arquivo, todos os estilos de terminação de linhas serão convertidos ao estilo nomeado.

Aviso

Você tem que definir apenas este atributo para arquivos de texto em codificações que são suportadas pelo Java runtime. Se você definir este atributo para arquivos que não sejam de texto, o conteúdo dos arquivos podem ser danificados.

O valor do atribuito server-eol é um dos seguintes estilos de final de linha, como descrito na tabela anterior do client-eol:

Exemplos

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

transform=<format>

Este atributo consiste em um par de sequência que habilita a conversão automática de um formato de arquivo nativo no cliente em um formato diferente na instância de Team Foundation Server. O arquivo é transformado quando é enviado ao servidor para um check-in ou operação de check-in particular e é transformado em seu formato nativo quando é recuperado do servidor por uma operação get.

O valor do atributo transform é uma das seguintes técnicas de estilos de codificação:

Transform

Codificação usada

apple

Isto causa os metadados específicos do Mac OS a serem preservado em um arquivo no sistema de arquivos local, inclusive a bifurcação de recursos, informações e comentários de Localizador. Sem este atributo, as bifurcações de recursos não terão seus check-ins feitos para Team Foundation Server.

ObservaçãoObservação
Este valor de atributo é suportado para clientes Team Explorer Everywhere apenas em computadores que estão executando o sistema operacional de Mac OS X.Em outros sistemas operacionais, este valor é ignorado.

Exemplos

MacOS9Application: x | transform=apple

Consulte também

Outros recursos

Colocando Arquivos em Versão Controle (Team Explorer Everywhere)

Exceto Recursos de Projeto de Eclipse do Controle de Versão