I’ve Dumped TortoiseSVN

I hate TortoiseSVN. The interface is great and it makes working with SVN a lot easier, but it’s so buggy it’s unbearable. Just a few of my complaints:

  • It’s slow. After a fresh install of Windows XP and TortoiseSVN, it completely locked up Explorer while it attempted to traverse a massive repository I had.
  • It causes weird explorer behavior. In particular, it feels like the screen is getting redrawn way too much.
  • TSVNCache is a horrible idea, or at least horribly coded. I often find that I can’t eject removable media because TSVNCache is holding file locks on random files, even if explorer is closed. Why? I have no idea. The only solution has been to kill it.
  • Sometimes, files randomly won’t have the right overlay for their status. Sometimes refreshing works, sometimes you have to exit (or even kill) explorer. In worse cases, TSVNCache must be killed, and in the worst case, you have to reboot (I’ve only had this happen once).
  • On my Core 2 Duo with 2GB of RAM, TortoiseSVN adds noticeable delay to explorer. It takes a split second longer to draw everything. The bigger (or deeper) your repository gets, the longer the delay seems to be.

So, TSVN is buggy and slow. I now use the command line on Windows instead. Getting this working with SSH keys is a bit of a chore, but here’s what I did:

  • Download the Windows PuTTY installer (I installed to C:\Program Files\PuTTy). Click here to get the exact package I did.
  • Get the latest Subversion package for Windows. I chose the binaries compiled against “Apache 2.2” — the exact package was “svn-win32-1.4.5.zip.”
  • Extract the zip file to somewhere. I chose C:\Tools and renamed the main subversion folder to get C:\Tools\Subversion.
  • Go to Start -> Settings -> Control Panel -> Advanced -> Environment Variables.
  • Edit the “Path” variable under “System variables,” and append the following string to the end, using your subversion’s bin path: ;C:\Tools\Subversion\bin
  • Add a new variable under “User variables.” Call it “SVN_EDITOR” and set it to some text editor you like (mine points to C:\Windows\notepad.exe).
  • Open notepad, and open the file “Application Data/Subversion/config” where “Application Data” is the folder under your user account (i.e. “C:\Documents and Settings\dvander\Application Data\…” or just “C:\Users” on Vista).
  • Under the “[tunnels]” section, find the commented line that looks like:

    # ssh = $SVN_SSH ssh

    Replace it with:

    ssh = C:/Program Files/PuTTy/plink.exe

    Or something similar depending on where you installed plink.exe.

  • Load pageant from the same folder plink is in (C:\Program Files\PuTTy\pageant.exe for me).
  • Load your SSH keys into pageant.

If you don’t use SSH keys, or don’t know what they are, see this article.

You can now run subversion from the command line. Examples:

svn co svn+ssh://[email protected]/svnroot/sourcemm sourcemm
cd sourcemm
svn update
svn commit

If it doesn’t work, make sure your environment is updated. For example, start a new cmd session rather than using an old one.

Note: I never had any problems with TortoiseCVS.

15 thoughts on “I’ve Dumped TortoiseSVN

  1. Damaged Soul

    I can’t say that I’ve ever noticed a delay in explorer due to TSVN and I have a measly old Pentium 4 (with HT) and only a gigabyte of memory. However, I can relate to the wrong overlay icons appearing on occasion. But I had that sort of problem with TortoiseCVS too, so I don’t know about that one. I sort of attribute the icon overlay issue to Windows in that case.

    As far as removable media is concerned though: oh heck yes. I had my external hard drive attached one day and wondered why the heck Windows wouldn’t let me “safely” remove it. I come to find out TSVNCache is locking some random video files. There’s no SVN repositories whatsoever on the drive and I hadn’t done a single thing to the files in question while connected. I have no idea what that’s about.

    Nice tips about SSH keys and using the CLI. I might have to consider using it whenever I finally decide to format my 2 year+ installation. :-o

  2. hippo

    I could never stop using TortoiseSVN. The interface is just so nice, not to mention it has that cool blue tortoise/turtle as its logo.

    I have to admit it is a bit sluggish when scanning directories. In my case, my Explorer runs fine, it just takes forever for the overlay icons to actually appear on my folders (maybe I have way to many repositories in one place).

    The TSVNCache.exe file locking is pretty annoying though. I use Unlocker (http://ccollomb.free.fr/unlocker/) to ‘unlock’ files it is grabbing. This then allows me to quickly eject / safely remove the drive before the annoying cache process grabs it again. Unlocker is also nice for unlocking pesky files that weren’t correctly closed by badly written programs.

  3. mwardm

    Oops. In between the angle brackets was supposed to be…
    “TSVNCache.exe also uses these paths to restrict its scanning. If you want it to look only in particular folders, disable all drive types and include only the folders you specifically want to be scanned.”

  4. Vallie

    Get out of debt today. Bankruptcy iss a dirty scary word. But once you learn tthe ins and outs of bnkruptcy it is not so scary anymore.
    In fact, you may conclude it is your best chance at starting a new

  5. Rafaela

    Whew that was one thing alright. Keep creatinjg posts like this and I will keep on coming back.
    See you whenn the future piece is out. Many thanks!

  6. Niklas

    I have no idea of any softphone that’s “always on”
    call record where it records every call without user input,
    but I do not know them all as I mostly use Bria

  7. Elton Kriss

    Importante empresa chilena de grandes superficies, requiere urgente para su área de ventas personal bachiller con documentación al día, para trabajar los fines de semana en su sede de centro mayor, deben tener experiencia mínima de 6 meses en ventas de neveras y lavadoras. Estudiantes técnicos y/ tecnológicos NO profesionales en carreras contables y financieras, para patrocinio. Empresa de telecomunicaciones requiere estudiantes universitarios que tengan minimo dos semestres de cualquier carrera, tecnico tecnologo. Con minimo 6 meses de experiencia en servicio al cliente ventas telefonicas ofrece estabilidad laboral y plan carrera.

  8. Damien Hurley

    Amazing! Its in fact awesome paragraph, I
    have got much clear idea about from this post.. My produce best cord electric lawn mowers #agreenhand

Comments are closed.