I have a Visual Studio solution inside a git repository created with TortoiseGit version 1.8.16.0 (git version 2.6.2.windows.1)
I just updated Visual Studio from 2015 to 2015 Update 1, and it stopped tracking changes on my files. also it won't allow me to commit anything.
Is this some sort of a known problem? are there any solutions?
update
(ironic title...)
VS tracks unsaved files as "changed"
and saved files appear to be "unchanged"
switching branches is behaves correctly and results in an error if there are uncommitted (real )changes
update 2
could this in the output window could have anything to do with the error:
Opening repositories:
Could not open 'C:/[project path].VC.opendb': The process cannot access the file because it is being used by another process.
Could not open 'C:/[project path].VC.opendb': The process cannot access the file because it is being used by another process.
I had the exact same issue as you and spent hours trying to get it to work, including re-cloning.
I solved it on my end by adding the *.VC.opendb and *.VC.db files to the .gitignore file of my project.
As soon as I returned to Visual Studio all my pending changes were showing. As far as I can tell it's all working normally again.
I have same issue with db.lock file ...
Solution with images are as follow:
Git will ignore these files for next commit.
Since the Visual Studio 2015 update 1 release notes and its "Known Issues and Fixed Bugs" page does not mention anything related to Git, try to:
- make a fresh clone of your repo from the command line (
git clone
)
- import the solution in Visual Studio and check if the git repo is detected
Or:
- make a new git repo with Visual Studio (as in "Visual Studio Code: How to integrate Git")
- check that you can add new files
- close Visual Studio
- overwrite that new repo by your own (delete and replace the
.git
by your own, and copy your worktree over the one used by Visual Studio)
Simpler solution which worked for me (also for VS 2017):
open .git\config file and change
bare: true
to
bare:false
To make VS 2015 not show the unmodified files, you need to set core.autocrlf=false
in your Git configuration by console. It sames newer versions of git core includes one new line on file with crlf (VS doesn't show the new line).
To set it through all your repositories write
git config core.autocrlf false
and it will be deactivated.