Erik's Weblog 2.0

February 2, 2006


SVN with SmartSVN, IDEA and Eclipse

In the last few days, I've been slowly converting from CVS to SVN as my primary repository.

Creating the repository was easy. Importing my existing projects, no so much. As far as I can tell there is no way to import projects using IntelliJ IDEA.

I've been using SmartCVS for years, so I figured it'd give SmartSVN a try. Importing existing projects was a breeze.

Next, I needed to figure out how to ignore certain directories (build, dist, etc.) in some of my projects. I also needed a way to do keyword substitutions, like CVS does.

I found a great resource here. I should have looked in SmartSVN for those options, they were pretty obvious. Unfortunately by then I was already back to using IDEA.

Once I understood what needed to be done, it was pretty straight forward.

Ignored Patterns

To define ignored patterns:
Keywords Substitution

To setup keywords substitution:

Smooth sailing from then on. I did find and reported a a problem with IDEA and private SSH keys. No answers yet.


Both SmartSVN and IDEA support repository browsing:
I have to admit that IDEA's approach is nicer, somewhat similar to Eclipse.


So what about Eclipse? Well, as far as I can tell there is no way to set the properties. But that's the least of my problems. Using Subclipse with SSH is nightmarish.

Unless you are willing to setup a SSH private key with no passphrase, you'll have to deal with re-entering your passphrase every 3 seconds or so.

I use SecureCRT for my SSH needs. The latest version (5.1) includes an activator SSH agent to save passphrases between sessions. Now I just have to deal with new cmd windows popping up 2 or 3 times per command. Apparently the Subclipse folks haven't figure out how to access the SVN server in a single session.

There's gotta be a better way.

And there is. As Jeff mentioned setting Subsclipe to use JavaSVN (under Windows->Preferences->Team->SVN) does the trick.


As Mark pointed out there are ways to do most everything with Eclipse. I've updated the screenshots.

The interesting part of all of this, is that SmartSVN, IDEA and Subclipse are all using JavaSVN underneath.

So far, apart from SmartSVN, they all have what I'd consider to be major startup issues.