49

Visual Studio 2012 と Microsoft TFS 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か、またはワークスペース内の変更を追跡することが絶対に必要かどうかを知っている人はいますか?

4

3 に答える 3

64

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

これらを取り除きたい場合は、ワークスペース タイプをサーバー ワークスペースに設定しますが、ローカル ワークスペースの利点は失われます

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

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

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

サーバー ワークスペースをセットアップするには、高度なワークスペース設定セクションにある非表示の設定を変更します。 ここに画像の説明を入力

于 2014-05-23T09:17:59.060 に答える
8

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

于 2014-10-31T15:46:41.900 に答える
2

元の質問に答えるには、答えはイエスです。ただし、TFS が変更を追跡できるようにするには、フォルダーを減らし、ディスク容量を大幅に減らすことはできますが、TFS を再作成する必要があります。それを行うには:

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

これらの手順をこの順序で実行することにより、最終的に TFS が必要とする tf$ エントリが作成されますが、1 つのフォルダー内でよりコンパクトになります。さらに、チェックインされていない変更のデルタが保持され、TFS に保存されます。それらを保留中の変更として認識する必要があります。

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

于 2016-12-18T19:26:26.403 に答える