TortoiseSVN - lowering TSVNCache utilization

1 minute read

I’m using TortoiseSVN at my current job, and have at several past jobs as well. It’s a pretty good SVN client implementation for Windows, with the usual issues that SVN has (including caveats about case sensitive client/server files systems).

However, one thing that’s continually irritated me about TortoiseSVN is that every time I update or check out something, a process called TSVNCache.exe kicks off and chews CPU for a long time. My understanding was that it was going through all my SVN files and updating their icons according to their SVN status (checked out OK, updated and not checked in, merged, deleted, etc). It was just one of those things I put up with.

However, just for fun today I did a Google search and found this interesting post about how to restrict the locations that TSVNCache scans when it’s called. The implication here is that if you don’t restrict it, it’s going to scan your entire system drive, and possibly all your local drives. Ack!

I dropped in an exclusion for C:* (don’t have any other local drives on this machine) and explicitly included my SVN checkout directories. There was a brief surge in CPU and I/O after I did an update (some of our projects are very large) but it was nowhere near as significant or long-lived as before. Yay!