8
votes

I am searching for a possibility to exclude some files of my generated VS project file from TFS. I know that it is possibly afterwards with the .vspscc file.

But what i want is, that i can tell the VS project file, that some of it's files are not allowed to get added to TFS, before I add the project to TFS.

2

2 Answers

12
votes

There are several levels of excluding files in TFS:

  1. Manually by excluding a file or folder on the check-in dialog.
  2. Manually by excluding a file or folder on the Add items to Folder dialog. tfs scm exclude manually
  3. On the Add items to Folder dialog > Automatically exclude from source control: tfs exclude
    Note: the default items can be modified using the registry.

  4. On the team project source control level using a check-in policy.

  5. On the source control permissions level: Source Control > Mark a folder > Security > Deny Check-In permission tfs scm permissions
  6. On the workspace level by cloaking.
3
votes

Not sure about the accepted answer by KMoraz. #1 and #2 don't seem to be permanent, #3 doesn't even appear for me (I'm using VS2012), #4 and #5 require permissions (which I don't have on CodePlex) and #6 is not even relevant (because you cannot cloak something that isn't first checked-in).

I know your question is about BEFORE they are added, but I think the answer, which is to create a ".tfignore" file, only works for TFS 2012.

For me I had to locate the ".vspscc" file (which I know you already stated) in the project folder and look for this line:

"NUMBER_OF_EXCLUDED_FILES" = "0"

In my case I wanted to exclude TypeScript generated files, so I added this:

"NUMBER_OF_EXCLUDED_FILES" = "3"
"EXCLUDED_FILE0" = "app.js"
"EXCLUDED_FILE1" = "app.js.map"
"EXCLUDED_FILE2" = "app.min.js"

I really hope they get their head on straight and add the feature you're looking for to VS in a more accessible way.

... and yes, there's a menu for excluding files in "File->Source Control->Advanced", but it should be in a context menu, and it doesn't apply to NESTED files (such as the app.* ones above [for .ts files]).