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

23,776

Solution 1

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

Solution 2

We were also experiencing this issue but in our case it was because we had folders that ended in ".Lib". Figured it out from this SO question: Visual Studio 2015. Files not added to TFS

Solution 3

We have the same issue because of a branch called 'Release'. But the issue is only at Visual Studio 2015 Update 3. Using Visual Studio 2015 Update 2, everything is ok. So Visual Studio Update 3 must have been changed its behaviour. It would be useful to return to its old behaviour.

Solution 4

Add a .tfignore file to the release folder containing the extensions you want it to not ignore:

!*.vb

I tried adding this to the .tfignore that existed in my solution folder and it didn't help. It only worked when I added one to the parent release folder.

..\Release
..\Release\.tfignore <-- this one
..\Release\SolutionA\
..\Release\SolutionA\.tfignore

msdn thread on the subject

Share:
23,776
Laurence Frost
Author by

Laurence Frost

Updated on February 27, 2021

Comments

  • Laurence Frost
    Laurence Frost about 3 years

    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?

  • Pavel Voronin
    Pavel Voronin over 7 years
    @MartW This issue appeared recently. Looks like they changed something in this policy in last update of TFS.
  • Christian Rodriguez
    Christian Rodriguez over 7 years
    Yes we've alse experienced the same issue after upgrading to VS 2015 Update 3. No issues using previous updates of VS2015
  • ThomazMoura
    ThomazMoura over 7 years
    I can confirm I've been experiencing the same problem with VS 2015 Update 3 on every branch name "Release" I've tested. The same branches run as expected on VS 2015 Update 2.