I've been having some issues with Subversion recently and decided to go out and find out what Subversion/svn clients I could find. Although I don't mind working with the command line once in a while, getting a nice GUI that allows me to manipulate my source code in a visual and logical way is much more what I want and need.
Here is a run-down of the clients I found, along with some pros and cons of each. The initial set of pros and cons are coming from minimal use, as I go through to see if I can find one to resolve a couple of my current issues. I will make an attempt to update the pros and cons as comments come in to this blog entry.
I could not find information in one single location that listed information on this topic, so I thought I would create my own.
- No way to edit the svn:externals property, which makes this tool a nogo for me, as I use externals quite a bit
- Checking out a large workspace could stand to have a better progress showing. All I got was the usual spinning disc, but no indication of how it had gotten. I know that a percentage complete is hard to do, but at least show me how much data downloaded, which directories done so far, something ?
- Does not seem to have any development since 2006 ?, so did not bother trying it out
- No browser for folder structure on checkout, need to know what the path is you want. The same went for revision selection.
- Works really well for most operations, this is the tool I've always recommended and use 90% of the time.
- Could not find a way to recover a delete directory, without using the log trick and doing a search on the resulting log. This is what got me on this quest of looking for other options for an SVN client.
- UI is not very intuitive, setup a workspace in Working Copies window, setup a repository in Repositories window, then double clicked on respository
- Seems to be very slow, first double click on our repository ran for a long time, over 15 minutes.
- Switched from one view to another, and it seems that the reason for slow down is that it is doing an svn log, and svn info on the root level URL I gave it, and the result is not cached. So it needs to re-read this information all the time.
- Synchro SVN
- UI seems ok
- I like the repository explorer
- Console is pretty good, gives me a glimpse into the commands used by the tool, so I can learn to use the command line better
- Treats SVN externals the same as other properties, this is very limiting if you use externals
- Although I like the repository explorer, its not where I spend most of my time, so having it so prominent seems a little weird to me
- MDI interface I really dont like
- Cannot checkout a directory that defines externals into repositories that require different credentials
- Treats svn:externals property the same as other properties also, which is bad.
- Was nice, fast, and simple to use.
- Used it a lot to deal with my migration of source from internal to open source, and was very handy for that.
- Only supports one working copy for a given svn directory
I need to go on to my actual project right now, will get back to updating this list in a little while.
The tools I use today, in order of most to least used, are
Update: Found an article with a good list of clients 12 Subversion Apps for OS X