Visual Studio 2015 new files not being added to source control automatically

Laurence Frost picture Laurence Frost · Jul 22, 2016 · Viewed 21.8k times · Source

I have just upgraded to VS2015 and I am experiencing an issue I have not seen before. Using an existing solution under source control, I am able to modify files and they get picked up as pending changes ready to check in to TFS.

However, I add a new file (Test.cs as an example in this screenshot), it is not picked up as a new file.

Screenshot of new file vs modified file

I am required to right-click it and click "Add files to Source Control"

Add files to Source Control screenshot

This has never been an issue before. I would like everything I add as a new file to be picked up as a pending change. How can I make this happen? I have not seen this before in previous Visual Studio versions.

I can confirm that this issue is the same on another machine. Also, the new file is not picked up in "Promote Candidate Changes" either.

If I then click "Add file to Source Control", I get this message.

The selected file is ignored - add it anyway?

"The selected file is ignored. Add it to source control anyway?"

My .tfignore file just has a directive to ignore packages, so I don't think this file is the problem.

How can I get my settings back on track?

UPDATE:

I have noticed that this only happens to the "Release" branch of my workspace. All other branches behave as expected. Furthermore, if I then take a branch "Release" and call it "Release1", the issue goes away entirely!

Do branches with the specific name "Release" take on any special functionality in TFS?

Answer

MartW picture MartW · Jul 22, 2016

Folders called Release and their contents is automatically excluded from TFS (along with Debug and lots of file types). You can override this for particular folders by creating a .tfignore file, as detailed in the "Customize which files are ignored by version control" section of this link

Customize which files are ignored by version control

By default certain types of files (for example, .dll files) are ignored by version control. As a result:

When you add ignored files to folders that are mapped in a local workspace, they do not appear in the Pending Changes page in Team Explorer.

When you try to add ignored files using the Add to Source Control dialog box (for example by dragging them into Source Control Explorer), they automatically appear in the Excluded items tab.

You can configure which kinds of files are ignored by placing text file called .tfignore in the folder where you want rules to apply. The effects of the .tfignore file are recursive. However, you can create .tfignore files in sub-folders to override the effects of a .tfignore file in a parent folder.

.tfignore file rules

The following rules apply to a .tfignore file:

# begins a comment line

The * and ? wildcards are supported.

A filespec is recursive unless prefixed by the \ character.

! negates a filespec (files that match the pattern are not ignored)

.tfignore file example

Ignore .cpp files in the ProjA sub-folder and all its subfolders
ProjA*.cpp

Ignore .txt files in this folder
*.txt

Ignore .xml files in this folder and all its sub-folders
*.xml

Ignore all files in the Temp sub-folder
\Temp

Do not ignore .dll files in this folder nor in any of its sub-folders
!*.dll