Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TFS creates a $tf folder with gigabytes of .gz files. Can I safely delete it?

I am using visual studio 2012 with Microsoft TFS 2012.

On the workspace that is created on my c: drive, a hidden folder $tf is created. I suspect TFS from creating this folder. It's lurking diskspace as the current size is several gigabytes now and it's about 25% diskspace of the total amount of gigabytes needed for the complete workspace. So this hidden $tf folder is quite huge.

The structure is like this:

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

Does anyone know if I can delete this $tf folder safely or if it is absolutely necessary to keep track of changes inside the workspace?

like image 946
Nico Lubbers Avatar asked May 23 '14 09:05

Nico Lubbers


People also ask

What is the $TF folder for in TFS?

The $tf folder existing based on the workspace, and the folder size is based on your projects. It keeps a hash and some additional information on all file in the workspace so that it can do change tracking for Local Workspaces and quickly detect the changes in the files.

How do I permanently delete a file in TFS?

Use the tf destroy command to destroy, or permanently delete, version-controlled files from Team Foundation version control. The destroy action cannot be reversed. You must not destroy files that are still needed.


1 Answers

TFS keeps a hash and some additional information on all file in the workspace so that it can do change tracking for Local Workspaces and quickly detect the changes in the files. It also contains the compressed baseline for your files. Binary files and already compressed files will clog up quite a bit of space. Simple .cs files should stay very small (depending on your FAT/NTFS cluster size).

If you want to get rid of these, then set the Workspace type to a server workspace, but lose the advantages of local workspaces.

Deleting these files will be only temporarily since TFS will force their recreation as soon as you perform a Get operation.

You can reduce the size of this folder by doing a few things:

  • Create small, targeted workspaces (only grab the items you need to do the changes you need to make)
  • Cloak folders, exclude folders containing items you don't need. Especially folders containing lots of large binary files
  • Put your dependencies in NuGet packages instead of checking them into source control..
  • Put your TFS workspace on a drive with a small NTFS/FAT cluster size (a cluster size of 64Kb will seriously enlarge the amount of disk space required if all you have are 1KB files.

To setup a server workspace, change the setting hidden in the advanced workspace setting section: enter image description here

like image 119
jessehouwing Avatar answered Oct 08 '22 01:10

jessehouwing