質問

バージョン管理されたファイルの属性を変更しないで維持することはできますか?インストーラーでクライアント マシン上で再作成したいディレクトリ構造があります。ファイル属性に影響を与えずにディレクトリ全体を VCS に配置できることを期待していました。

私は TFS を使用していますが、他のバージョン管理システムについても聞きたいです。

編集: ここでは非表示/アーカイブ/システム/読み取り専用などの Windows ファイル システム属性について話していますが、作成日/変更日などの他の情報も歓迎します。一部のファイルが読み取り専用であるディレクトリ構造があるため、それらのファイルをクライアントのマシンにそのままインストールする必要があります。TFS は、ファイルがチェックインされているかチェックアウトされているかに応じて、読み取り専用属性を設定/設定解除する傾向があります。

役に立ちましたか?

解決

通常、バージョン管理システムは、その管理下にあるファイルに関する完全なメタデータ情報をリポジトリに保存しません。バージョン管理システムの通常の使用法では、これは必要ありませんが、問題が発生する可能性さえあります。バージョン管理システムは、メタデータの「健全な」サブセットを保存します(例:実行可能権限、およびシンボリック リンク)。

考えられる解決策は、フックを使用してファイル (通常はプレーン テキスト ファイル) へのコミット時にファイル メタデータの必要な部分を保存し、このファイルをバージョン管理下に置いてすべてのクライアントに自動的に配布し、フックを使用してチェックアウト時にメタデータを復元することです。


メタデータを保存および復元するツールのソリューションの例には次のものがあります (残念ながら、例は ギット, TFS ではありませんが、重要なのは考え方です):

構成ファイルをバージョン管理下に置くためのツールのソリューション例 (再度:それらはすべてバックエンドとして Git を使用しています) には次のものが含まれます。

他のヒント

TFSは、TFSの現在のバージョンで等ファイル(例えば、作成日、更新日など)属性データを格納しません。それらの属性の値は、ファイルが最初にダウンロードされ、ローカルコンピュータ上の時間になります/ modifedます。

TFS 2010 には、バージョン管理オブジェクトに任意のメタデータを添付する機能があります。ただし、独自のツールを作成する必要があります。

API 仕様 (プレリリース): http://blogs.msdn.com/mrod/archive/2008/05/09/team-foundation-server-properties.aspx

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top