web-dev-qa-db-ja.com

TFSは、ギガバイトの.gzファイルを含む$ tfフォルダーを作成します。安全に削除できますか?

Microsoft TFS 2012でVisual Studio 2012を使用しています。

c:ドライブに作成されたワークスペースに、隠しフォルダー$tfが作成されます。 TFSがこのフォルダーを作成しているのではないかと考えています。現在のサイズは数ギガバイトであり、完全なワークスペースに必要なギガバイトの総量の約25%のディスクスペースであるため、ディスクスペースが潜んでいます。したがって、この隠された$tfフォルダーは非常に巨大です。

構造は次のとおりです。

c:\workspace\$tf\0\{many files with guid in filename}.gz
c:\workspace\$tf\1\{many files with guid in filename}.gz

この$tfフォルダーを安全に削除できるか、またはワークスペース内の変更を追跡することが絶対に必要かどうかは誰にもわかりますか?

40
Nico Lubbers

TFSは、ローカルワークスペースの変更の追跡を行い、ファイルの変更をすばやく検出できるように、ワークスペース内のすべてのファイルのハッシュといくつかの追加情報を保持します。また、ファイルの圧縮されたベースラインも含まれています。バイナリファイルと既に圧縮されたファイルは、かなりのスペースを詰まらせます。シンプル.csファイルは非常に小さいままである必要があります(FAT/NTFSクラスターサイズによって異なります)。

これらを削除する場合は、ワークスペースタイプをserver workspaceただし、ローカルワークスペースの利点を失います に設定します=。

これらのファイルは、Get操作を実行するとすぐにTFSによって強制的に再作成されるため、一時的に削除されます。

いくつかのことを行うことで、このフォルダーのサイズを小さくできます。

  • ターゲットを絞った小さなワークスペースを作成する(必要な変更を行うために必要なアイテムのみを取得する)
  • フォルダーを隠し、不要なアイテムを含むフォルダーを除外します。特に、大量の大きなバイナリファイルを含むフォルダー
  • ソース管理に依存関係をチェックするのではなく、NuGetパッケージに依存関係を配置します。
  • NTFS/FATクラスターサイズが小さいドライブにTFSワークスペースを配置します(クラスターサイズが64 KBの場合、1 KBのファイルしかない場合、必要なディスク容量が大幅に増加します。

サーバーワークスペースをセットアップするには、ワークスペースの詳細設定セクションに隠されている設定を変更します。 enter image description here

56
jessehouwing

簡単な答え:$ tfファイルを一度削除しました:最終結果は、新しく追加されたファイルが保留中の変更に表示されることでしたが、既存のファイルを変更すると、変更は表示されませんでした保留中の変更。したがって、このフォルダを削除することはお勧めしません。

7
Niels

元の質問に答えるには、答えはイエスです。ただし、TFSが変更を追跡するためには、フォルダーが少なく、ディスクスペースがはるかに小さいにもかかわらず、TFSを再作成する必要があります。それを行うには:

  1. まず、現在のワークスペースフォルダーに現在あるすべてのtf $フォルダーを削除します。
  2. 次に、元のフォルダーの残りのすべてのコンテンツを別の空のフォルダー、できれば別のドライブに移動します。
  3. 元の(現在は空の)ワークスペースフォルダーに「最新版を取得」を実行します(これにより、その元のフォルダーに単一のtf $フォルダーが作成されます)。
  4. 次に、移動したすべてのコンテンツを、元のワークスペースフォルダーの「最新版を取得」結果の上にあるバックアップフォルダーにコピーします。

これらの手順をその順序で実行することで、TFSが必要とするtf $エントリになりますが、単一のフォルダーではるかにコンパクトになります-さらに、チェックインしていない変更のデルタは保持され、TFSそれらを保留中の変更として認識します。

Certitude AMULETs C++ソリューションには72の高度なプロジェクトが含まれており、コンパイルと検索速度を適切に保つために月に一度これを行う必要があります。

0
Scott Deaver