2009-06-05 15 views
0

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

私はTFSを使用していますが、他のバージョンコントロールシステムについても聞きたいと思います。

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

+0

あなたが同じ属性を維持したい、なぜ私が聞いても? MSIインストーラが出てきたら、特にVCSシステムからクライアントマシンまでどのような属性を残したいのですか?どのようにクライアント側のタイムゾーンの違いが処理されるようにしたいですか? –

答えて

0

通常、バージョン管理システムは、管理下のファイルに関する完全なメタデータ情報をリポジトリに格納しません。バージョン管理システムの通常の使用では、これは必要ではなく、問題を引き起こす可能性もあります。バージョン管理システムは、メタデータの「穏やかな」サブセット(例えば、実行可能アクセス権、シンボリックリンクなど)を格納する。

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


例のソリューションは、(残念ながら例がGitためのものではなく、TFSが、それは重要な考え方である)が含ま:

バージョンコントロールで設定ファイルを保存するツールの例(もう一度:すべてGitをバックエンド)が挙げられる:

1

TFSは、現在のバージョンのTFSにファイル属性データ(作成日、変更日など)を保存しません。これらの属性の値は、ファイルが最初にダウンロード/変更されたときのローカルコンピューター上の時刻になります。

+0

これは私が知らなかった限界です。だから私は実際のファイルの日付を保持することはできません? (サードパーティー、バイナリー)ファイルの日付を保持することはしばしば重要です。これらのファイルをTFSにチェックインする必要はないでしょうか? – Aardvark

+1

アセンブリの属性を保持することは重要ではありませんでした。過去にこの問題を聞いた唯一の人は、ビルド間で変更されたファイルをプッシュしたいWebアプリケーションの人たちです。第三者libsの日付が保存される必要があるかもしれません。 –

+0

yep - xcopyを変更したwwebのデザイナーの一人です。誰かがチェックアウトした場合、その人は現在、他の人が現在作業しているファイル(xcopyをすべてのxcopy)にxcopiesします。 – BananaAcid

関連する問題