Ever had one of those days when you spent fighting with your operating system when you should have been getting real work done? I just had one of them. My computer at home is much faster and better equipped to do development work than my work laptop. We use SVN for source code control. For SVN client access, we use SmartSVN from SyntEvo. After setting up our repository URL in the SmartSVN, I was able to browse our repository folder structure, and begin to check out a project. But after retrieving a few files, it would crap out with errors like "connection closed" or "svn: null".
When things like this go wrong, most people would just give up or go back to the laptop. But this is the sort of the thing that makes me crazy until I find out what the problem is. I had my laptop--which worked with the same SVN settings on my home network. The difference was the work laptop was Windows XP SP 2--and my home desktop computer was Windows Vista. A-ha! Windows Firewall? Turned it off, same thing. McAfee Virus Scan? Uninstalled it, same thing. DLink router? Disabled the firewall, allow network access, same thing.
Searched SmartSVN forums--no answer. Tried TortoiseSVN--same problem. Tried another product called Syncro SVN--again, same behavior. I'm falling further behind on my deadline, when I give up and write to our terrific IT captain from Ancient Geek that he was right--Vista sucks.
Luckily, I did, because he told me what the real problem was--the TCP/IP auto tuning feature that Vista has. According to this article at ChapterZero:
Microsoft Windows Vista has auto-tuning enabled for TCP/IP which continually adjusts itself. It increases file transfer speed on the network but in some cases it may actually slow down everything which is accessing network. Auto-tuning also slows down network browsing of other machines on the network.
It's easy to check and see what your current TCP/IP receive tuning level is. Open up a CMD window with admin priviliges and type:
netsh interface tcp show global
Then if it's on and you want to turn it off:
netsh interface tcp set global autotuning=disabled
More detailed steps are given for this at SpeedGuide.
No wonder I drove myself nuts. I kept searching and searching for anything network related in the Control Panel and it wasn't there. Now that I've disabled this feature, both SmartSVN and TortoiseSVN are working fine. Thank you, Ancient Geek!


