Optimising TortoiseSVN

December 28, 2006

As noted in other posts, I am currently using Subversion for source code control, with TortoiseSVN as the “GUI” client. Recently I’ve been having big performance problems on my machine, particularly with Windows Explorer. Getting rid of most of the network drives that I’ve added helped quite a bit, and then I turned my attention to TortoiseSVN.

Our SVN repository is located in New York, whilst we are in London, and the network between the two sites is not great. For example, when we moved offices our new network was only 10mbit/s rather than 100mbit/s. Gigabit? Tish and pshaw! Combined with the fact that our project is 436Mb means that SVN can sometimes crawl.

I began digging into the TSVNCache.exe process. TSVNCache determines which icons should be displayed in Windows Explorer, indicating modifications, conflicts, etc. I then read this article about possible optimisations. By switching on the TSVNCacheWindow I could see that tens of thousands of directories were being cached.

The first thing was to remove branches that were no longer being used. Despite having no modifications for several months, they were being repeatedly indexed by TSVNCache.

Next was to specify the directories that I wanted icon overlays for. Into the “Include Paths” I added my C:\dev\trunk and C:\dev\Branches\ directories, with “*” after each of them so as to get recursive info. Into the “Exclude Paths” I added C:\*, thereby excluding everything else.

Performance was now significantly better, but I wasn’t satisfied. The final act was to switch on “Show overlays only in explorer”, which disables the overlays in File Open dialogs and other non-Explorer windows. This was an area where I had had particular problems.

The machine is now lightning-fast, far better than it had become and much more like the dual-core, dual-physical 3.2Ghz Xeon with 2Gb that it’s supposed to be.

My settings are shown here.


15 Responses to “Optimising TortoiseSVN”

  1. Tyrone said

    Thanks for sharing, my coworker was chastising me about the slowness of TortoiseSVN. I like it, but now it can be even faster.

  2. Tony Evans said

    Thanks for the info. The speedup is significant.

  3. progblog said

    I’m glad to have been of service!

  4. palehorse said

    Wow, this was a great tip! The performance of TortoiseSVN was my only gripe and now it seems that the cache tweak has taken that out of the equation!

  5. […] Like many developers I’ve worked and talked with using subversion, the biggest drawback is the performance hit when using TortoiseSVN’s shell integration.  The tip;  Optimising TortoiseSVN « Programming Blog has taken that performance issue away for me!  My explorer is now much faster than it was and I’m livin’ the happy life!  […]

  6. You are a genius, my Tortoise no longer chugs along like a tortoise 😀

  7. […] Optimising TortoiseSVN The article is here : Optimising TortoiseSVN […]

  8. […] Optimising TortoiseSVN Programming Blog Good stuff if you’re using TortoiseSVN. (categories: tortoisesvn svn subversion optimization windows ) […]

  9. Thanks for an intresting tip

  10. […] Optimising TortoiseSVN « Programming Blog (tags: svn subversion tortoisesvn) […]

  11. Idetrorce said

    very interesting, but I don’t agree with you

  12. Tiesncuffs said

    Great tips. Thanks for sharing.

  13. hamy said

    Since TSVN 1.5 came out there are some minor changes. Here is a nice link to quick videos showing how to use basic TSVN features. Hope it helps you as well.



  14. I actually work in the transfers industry, but honestly found this article quite useful.

    Thanks so much for the tips and information in it!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: