There is no doubt, when it comes to using SVN (Subversion) within Microsoft development environments, VisualSVN is a must have. Not only does it integrate SVN with the Visual Studio 2005/2008 IDE’s it is clean, clear cut, and easy to use. I have been using it for the last 12 months and have yet to run into any bugs or issues in either 2005 or 2008. The addon is pure SVN heaven and I could not live without it…
Need a SVN (Subversion) server for windows that is free, easy to deploy and has the option for secure SVN over HTTPS? VisualSVN server is all you will need. I have been using this server for the last 12 months and it has never been down and I have never run into an issue using it. It comes bundled in a simple installer with a step by step install wizard that anyone can understand. You can customize the port the server uses, the diretory where your repositories will be created, as well as specify if it will run over HTTP or HTTPS. Oh, and I shouldn’t forget it also allows you to use Windows authentication or SVN’s authentication.
‘..\..\.svn\entries’ to ‘..\..\.svn\entries’:
The file or directory is corrupted and unreadable.
If you have recently upgraded to Windows 7 (in my case, ultimate 64 bit) and moved all your SVN development repositories to your sweet, new, resource friendly OS. Installed TortoiseSVN and have begun your regular routine of development you are in for a painful experience. The error above happens when you attempt to do an SVN commit containing a large number of files and causes a complete failure to commit all your work to the SVN repository no matter how many times you try.
Don’t get me wrong there are plenty of people out there who are having no problem what so ever after they upgrade to Windows 7, but there is a small number out there who are ready to beat the hell out of their computers with a sledge hammer! All because they did one little thing wrong.
The error above is caused because I turned on Windows Indexing Service and added the folder all of my SVN repositories are in to the indexing list. SVN creates a load of temp files as it prepares to commit your changes to the repository and uses a file called ‘entries’ located in the ,svn folder to hold temporary entries.
As SVN creates these temp files and updates the ‘entries’ file the Windows indexer sees that changes have been made to the file and grabs on to that file in an attempt to re-index it. Well, while the indexer is messing with the file SVN has moved on to the next file and soon thereafter is ready to alter the ‘entries’ file again. Of course the indexer has a hold of that file and will not allow SVN to access the file until it is done doing what it does. Thus the epic battle begins and the two processes begin fighting over the file. SVN is not a native Windows process and therefore loses and in its agony it screams out in desperation “Can’t Move!”.
In short Turn off Indexing of your SVN repositories by the Windows Indexing Service.
The following items should be added to your Tortoise SVN global ignore list before importing a .Net project into a Subversion Repository.
*.suo *.user bin obj *.pdb *.cache *_svn *.svn *.suo *.user *.build-res TestResults _ReSharper*
You can add them by right-clicking in Explorer and going to TortoiseSVN / Settings. This will open the Tortoise SVN settings window and should be on the General settings window. The second section “Subversion” has a filed called “Global ignore pattern” go to the end of the list and paste in the ones above then click apply and ok.