次の方法で共有


バージョン管理されているファイルへの UNIX ファイルシステム属性の適用

Unix を実行しているコンピューターで Eclipse を操作する場合は、バージョン管理にチェックインするファイルと共に Unix ファイル システム属性を格納する必要が生じる場合があります。 たとえば、バージョン管理からファイルを取得したときに、そのファイルを実行可能ファイルとして指定したい場合があります。 Visual Studio Team Foundation Server では、バージョン管理に追加するファイルと共にこの情報を格納する方法はありません。 ただし、任意の作業フォルダーに .tpattributes という名前のファイルを置くことができます。 バージョン管理からファイルを取得するときに、このファイルが存在する場合は、このファイルの内容によって、そのフォルダー内のファイルに設定する必要のある属性が指定されます。

.tpattributes ファイルをバージョン管理に追加できます。 チームのメンバーが自分の作業フォルダーにこのファイルを取得すると、このファイルの内容に基づいて属性が Team Explorer Everywhere によって設定されます。 .tpattributes ファイルがディスクから削除されると、そのディレクトリのファイルに対する以降の get 操作では、属性が既定の状態に戻ります。 .tpattributes の該当する行を削除したり、コメント化した場合も、ファイルの属性が既定の状態に戻ります。

.tpattributes ファイルの形式

.tpattributes ファイルは簡単な形式のテキスト ファイルです。 このファイルは手動で作成する必要があります。

バッカスナウア記法 (BNF)

BNF で記述された .tpattributes ファイルの構文は次のとおりです。

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

Team Explorer Everywhere がこのファイルを解析する際、ほとんどの空白は無視されます。 <line>、<file-expression>、<boolean-attribute>、<key>、および <value> を解析する際、先頭と末尾の空白は無視されます。 形式が正しくない行は無視されます。 不明な属性も無視されますが、他の認識された属性は適用されたままになります。

.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

コメント行を除く最初のフィールドは、先頭にパス情報のないファイル名または正規表現です。 このファイル名または正規表現は、.tpattributes ファイルと同じディレクトリ内のファイルまたはディレクトリを参照します。 ファイル名に続いてコロンを指定します (コロンは、Team Foundation Server ではファイル パスに使用できず、正規表現の特殊文字でもありません)。 コロンに続く部分はパイプ文字 (|) で区切られた属性のリストであり、これらはすべて、指定した項目に適用されます。 属性は、文字列ペア属性 ("link=$/Project/include" など) またはブール値属性 ("x" など) です。

サポートされている属性

Team Explorer Everywhere でサポートされている .tpattributes ファイルの属性は次のとおりです。 各属性の説明では、組み合わせ可能な属性についても記述されています。

x

この属性は、指定されたファイルがディスクへの書き込みの後に実行可能ファイルになることを示すブール値を表します。 この属性は Unix (Mac OS X を含む) を実行中のコンピューターの Team Explorer Everywhere のみでサポートされ、ディレクトリには適用できません。 Team Explorer Everywhere によって、ユーザーの umask に応じた実行ビットが有効になります。 x 属性は通常、他の属性と組み合わせることができます (一部の例外があります)。

正規表現によって一致するファイルが複数ある場合は、一致するすべてのファイルに実行可能属性が適用されます。

link=<path>

この属性は文字列ペアで構成され、このディレクティブの行に指定されたファイル名の場所にシンボリック リンクを作成する必要があることを示します。 リンクを作成するには、バージョン管理にファイルが存在している必要があります。 ファイルの場所にリンクが作成される場合、ファイルの内容は無視されます。

link 属性の値は Team Foundation Server を実行しているサーバーの相対パスまたは絶対パスであり、このパスによってシンボリック リンクが指し示す場所が指定されます。 Team Explorer Everywhere はシンボリック リンクを作成する前に、リンク先が現在の Team Foundation Server ワークスペース内の作業フォルダーにマップされているかどうかを確認します。 マップされている場合は、ディスク上の項目を指すようにリンクが作成されます。 マップされていない場合、Team Explorer Everywhere はリンクのターゲットを特定できないため、シンボリック リンクは作成されません。 この場合は、代わりに Team Foundation Server からファイルの内容がディスクに取得されます。

正規表現によって一致するファイルが複数ある場合は、各ファイルがリンク値へのリンクとして作成されます。

local-link=<path>

この属性は文字列ペアで構成され、このディレクティブの行に指定されたファイル名の場所にシンボリック リンクを作成する必要があることを示します。 リンクを作成するには、バージョン管理にファイルが存在している必要があります。 ファイルの場所にリンクが作成される場合、ファイルの内容は無視されます。

local-link 属性の値は、シンボリック リンクのターゲットを指定するリテラルのローカル パスです。 ローカル パスはどの Team Explorer Everywhere クライアントによっても解釈されません。 ローカル パスはオペレーティング システムによって使用され、オペレーティング システムの symlink 機能で使用可能な任意のパス形式 (相対パスまたは絶対パス) で指定できます。

正規表現によって一致するファイルが複数ある場合は、各ファイルがリンク値へのリンクとして作成されます。

ファイルに両方の属性を指定した場合、local-link 属性は link 属性よりも優先されます。 たとえば、正規表現によって一致したすべての .txt ファイル (".*\.txt") に link が適用され、file.txt に local-link が適用される場合、file.txt にはローカル リンクが作成されます。

client-eol=<eol-style>

この属性は、get 操作でファイルを作業フォルダーに書き込むときに、改行コードの指定された形式への自動変換を有効にする文字列ペアで構成されます。 ファイルには client-eol 属性と server-eol 属性の一方または両方を設定できます。 この属性をファイルに設定すると、すべての行の改行コードのスタイルが指定したスタイルに変換されます。

ヒント

この属性は、Java ランタイムでサポートされているエンコーディングを使用するテキスト ファイルのみに設定する必要があります。 この属性をテキスト ファイル以外に設定すると、ファイルの内容が破損する場合があります。

client-eol 属性の値は、次のいずれかの行末スタイルになります。

eol-style

使用される改行シーケンス

lf

Unicode U+000A、Unix オペレーティング システム (Mac OS X を含む) で使用

crlf

Unicode U+000D、U+000A、Windows オペレーティング システムで使用

cr

Unicode U+000D、以前の Mac OS オペレーティング システム (System 9 およびそれ以前) で使用

native

Team Explorer Everywhere のクライアントを実行しているコンピューターのオペレーティング システムで使用される既定のスタイル

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

server-eol=<eol-style>

この属性は、チェックイン操作またはシェルブ操作でファイルをサーバーに送信するときに、改行コードの指定された形式への自動変換を有効にする文字列ペアで構成されます。 ファイルには client-eol 属性と server-eol 属性の一方または両方を設定できます。 この属性をファイルに設定すると、すべての行の改行コードのスタイルが指定したスタイルに変換されます。

ヒント

この属性は、Java ランタイムでサポートされているエンコーディングを使用するテキスト ファイルのみに設定する必要があります。 この属性をテキスト ファイル以外に設定すると、ファイルの内容が破損する場合があります。

server-eol 属性の値は、前の client-eol 属性の表に示すいずれかの行末スタイルになります。

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

transform=<format>

この属性は、クライアントのネイティブのファイル形式から Team Foundation Server のインスタンス上の異なる形式への自動変換を有効にする文字列ペアで構成されます。 チェックイン操作またはシェルブ操作のためにファイルをサーバーに送信する際にファイルの変換が行われ、get 操作によってサーバーからファイルを取得する際にネイティブ形式への変換が行われます。

transform 属性の値は、次のいずれかのエンコーディング技法になります。

Transform

使用されるエンコーディング

apple

リソース フォーク、Finder 情報、Finder コメントなどの Mac OS 固有のメタデータがローカル ファイル システム上のファイルに保持されます。 この属性を指定しない場合、リソース フォークは Team Foundation Server にチェックインされません。

メモメモ
この属性値は Mac OS X オペレーティング システムを実行中のコンピューターの Team Explorer Everywhere クライアントのみでサポートされます。他のオペレーティング システムでは、この値は無視されます。

MacOS9Application: x | transform=apple

参照

その他の技術情報

バージョン管理下へのファイルの配置 (Team Explorer Everywhere)

バージョン管理からの Eclipse プロジェクト リソースの除外