Sign in

E-mail *, (xx@domain.com)
Password *

Register | Forgot password

Recent blogs

RSS - Blogs
December 24, 2008
The year has almost ended...
December 9, 2008
5 Spring pitfalls
December 9, 2008
Like A Version
October 22, 2008
New certification process
October 17, 2008
Search quest [3/3] - improvements

All Blogs...


Did you catch the Tortoise today?

March 12, 2008

In most software development projects reaching the end goal often feels like one of Zeno's paradoxes.  You know what has to be done in how much time, but somehow you never really seem to catch that tortoise. However, contrary to the original paradox, in this case it may just be the Tortoise that slows Achilles down.


If you are a developer working on large projects, you have a MS Windows operating system, you are using subversion as your source control management system (SCM) and you are using TortoiseSVN as a client, this might just make your day...

Don't get me wrong. I like subversion! There are many SCM systems and all of them have their pros and cons. Subversion is flexible, very stable, non invasive, easy to manage on the server side and scales very well. On the client side however it has a rather large footprint. About twice the size of the code actually in the repository, mainly because it keeps a base copy of  all checked out files.

In order to work with the checkout you need a client program to manage your local copy. As so many developers I use TortoiseSVN (beside commandline tools and Subclipse), because every now and then it is very usefull and one of the best in its sort.

There is however a problem with TortoiseSVN and it is called TSVNCache.exe! This is a sub process that TortoiseSVN starts to monitor the status of your files. It allows the TortoiseSVN shell extension to show the pretty overlay icons in Windows Explorer, which is handy, but at what cost?

I found out about this 'feature' when I was wondering why my harddrive was rattling all the time when there was nothing to rattle about. Of course I had already disabled all stupid desktop search tools (watch out Vista users!). As it turned out it was this process and it actually turned out to be in second place, just after my virus scanner (with scan on access), when it comes to disk IO.

Fortunately, it turns out to be very easy to disable this. Just go to TortoiseSVN => Settings => Look and Feel => Icon Overlays (in the context menu) and set it to 'none' or to 'Shell' if you really like those pretty icon overlays. This effectively disables the TSVNCache.exe subprocess  and stops the stupid rattling :)

Ok, so now your system is much faster, but you don't have the pretty icons. My advice is to get used to it. For one, these icons wheren't that informative to start with. Yes it was a nice visual indication that a file had changed, but it didn't incicate whether or not you had added an unversioned file in any particular subdirectory so you had to check the pre commit dialog anyway. If you wish to know the status use that and get a full view, or even better just use the good old command line 'svn stat' and get an overview you know you can trust.



Happy coding

Bram


ps. If you are on linux or solaris check out the FUSE and more specifically SCORD!

About the Author

Return to all blogs


Bram de Kruijff is Product Architect and one of the co-architects of the GX WebManager framework with a focus on OSGi and services framework. Bram is part of the NAF Web 2.0 forum group to define standards on community technologies.

Read all Brams blog entries

Other blog entries:

June 3, 2008
A few SDK tips & tricks
May 29, 2008
Maven secrets: Dynamic Maven properties with Beanshell
May 27, 2008
GX WebManager on SpringSource Application Platform
May 9, 2008
JavaOne 2008 wrapup
April 14, 2008
Maven secrets: assembling a WCB zip
April 11, 2008
ApacheCon EU 2008 impressions
March 29, 2008
Maven secrets: filtering sources
February 29, 2008
OSGi adoption on the rise!
February 26, 2008
Tabula rasa


Share:

del.icio.us
digg
Technorati
Slashdot
Reddit
YahooMyWeb
NewsVine
ekudos
© 2008 GX creative online development B.V.

Disclaimer

This website (GXdeveloperweb.com) may discuss or contain opinions, (sample) coding, software or other information that does not include GX official interfaces, instructions or guidelines and therefore is not supported by GX. Changes made based on this information are not supported.  GX will not be held liable for any damages caused by using or misusing the information, software, instructions, code or methods suggested on this website, and anyone using these methods does so at his/her own risk. GX offers no guarantees and assumes no responsibility or liability of any type with respect to the content of this website, including any liability resulting from incompatibility between the content of this website and the materials and services offered by GX. By using this website you will not hold, or seek to hold, GX responsible or liable with respect to the content of this website.