<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><entry xmlns='http://www.w3.org/2005/Atom' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-13362356.post-114291439694320618</id><published>2006-03-22T21:08:00.001-05:00</published><updated>2009-10-17T17:57:17.486-04:00</updated><title type='text'>Daddy Still Needs A New Subversion GUI</title><content type='html'>As I mentioned in my &lt;a href="http://www.doodpants.org/karlvonl/blog/2006/03/daddy-needs-new-subversion-gui.html"&gt;previous post&lt;/a&gt;, I'm looking for a GUI-based Subversion client that gives me a certain set of basic functionality necessary for managing my personal software projects. I tried a handful of programs, none of which met all of my needs. One that I didn't try was &lt;a href="http://esvn.umputun.com/"&gt;eSvn&lt;/a&gt;, only because it came as a .pkg installer, and I said that I would give it a try later. Well, that time is now. Also, I found a few other programs to try as well. So, let part 2 of my review of various Mac OS X Subversion GUI front-ends begin.&lt;br /&gt;&lt;h3&gt;&lt;a href="http://esvn.umputun.com/"&gt;eSvn&lt;/a&gt;&lt;/h3&gt;Let's start with eSvn, since it's a holdover from the last review. After double-clicking the .pkg file to launch Apple's Installer program, I used the Show Files command to find out what files were going to be installed where, so that I could easily remove the program if it turned out to be yet another dud. And boy, did it. The "Read Me" that displayed in the installer window indicated that eSvn required me to have Qt/Mac 3.3 installed on my computer. I went ahead with the installation anyway, and sure enough the program wouldn't launch once it was installed. Having gone this far, I figured I might as well look into the possibility of downloading and installing Qt so that I could finally get eSvn running. The only URL that eSvn's "Read Me" document provided for Qt was for the &lt;a href="http://www.trolltech.com"&gt;main Trolltech page&lt;/a&gt;. So I visited the page and blundered around, looking for a runtime library to download.&lt;br /&gt;&lt;br /&gt;I was completely unable to find such a thing. It quickly became clear that Qt, and likewise the web site for Qt, was geared toward developers rather than end users. Apparently developers are expected to build Qt into their own programs rather than make users install it separately as a library. So the only way to obtain Qt would be to download the actual development kit, and that costs money. There was a brief mention in the FAQ of the Qt Open Source Edition, which is free for use in open source software, but   there was no link to more information about it.&lt;br /&gt;&lt;br /&gt;So, once again I had to trash eSvn without actually getting to try it out. And this time, there's no "I'll try it sometime later". By not actually distributing Qt with their product, but rather expecting end users to install it themselves, the creators of eSvn &lt;em&gt;really&lt;/em&gt; dropped the ball. It's just as well; from the screenshots on the &lt;a href="http://esvn.umputun.com/"&gt;eSvn web site&lt;/a&gt;, it is clear that eSvn fails to meet my needs, by lacking a visual diff feature. For if it had such a feature, surely this would be worth showcasing in a screenshot, whereas &lt;a href="http://esvn.umputun.com/picts/snapshot-esvn-new2411bdb0a4.jpg"&gt;one of the screenshots&lt;/a&gt; instead shows a diff window containing the textual output of Subversion's diff command. Add to this the fact that the last stable version, 0.6.11, is from July of 2005, but the last version for which there's a Mac OS X distribution is 0.6.8 from January of 2005, and there's just not much promise there.&lt;br /&gt;&lt;h3&gt;&lt;a href="http://www.einhugur.com/iSvn/"&gt;iSVN&lt;/a&gt;&lt;/h3&gt;Next up is iSVN version 0.9.5a2, which is a Mac-only program. Even though it's alpha software, it should be better than eSvn, since "i" is a whole four letters more than "e". iSVN is perhaps the most Mac-like program of the bunch, having both a standard Mac toolbar, and an item list pane on the left side of the main window, similar to such Apple programs as iTunes and Mail. This list pane is for local working copies; create a new item, choose a local folder that contains a Subversion working copy, and you can now manage that local copy. You can see what files have been modified or added, you can commit changes, and like &lt;a href="http://www.lachoseinteractive.net/en/community/subversion/svnx/features/"&gt;svnX&lt;/a&gt; (covered in the &lt;a href="http://www.doodpants.org/karlvonl/blog/2006/03/daddy-needs-new-subversion-gui.html"&gt;previous post&lt;/a&gt;), it even integrates with Apple's FileMerge to provide visual diffs. And unlike svnX, there are contextual menus providing quick access to a number of tasks.&lt;br /&gt;&lt;br /&gt;iSVN even has a feature to browse the repository, though the menu item is only enabled when you have an item selected in the working copy list. So presumably it only allows you to browse subprojects in the repository that correspond to working copies, rather than freely browse the entire repository tree. I say "presumably" because the feature doesn't work. In the browser window, where the file list should be, there is instead what looks like part of a Subversion error message.&lt;br /&gt;&lt;br /&gt;iSVN holds a lot of promise, in part because the latest version is less than two weeks old, indicating active development. But it is unfortunately quite obviously alpha quality software. Some features don't work, some of my required features are missing, and some behaviors are quirky. So for now it is not a keeper. But it is definitely worth revisiting in a year or so to see if it has matured into what it shows the potential to be.&lt;br /&gt;&lt;h3&gt;&lt;a href="http://rapidsvn.tigris.org/"&gt;RapidSVN&lt;/a&gt;&lt;/h3&gt;RapidSVN 0.9.1 is a cross-platform program that uses wxWidgets. Though not as Mac-like as iSVN or svnX, its design is quite functional. It has a single main window with a tree pane on the left hand side. The root of the tree is called "Bookmarks", and can contain both repositories and working copies. Right-clicking the root item brings up a contextual menu that allows you to add either type of item, each of which itself will then be an expandable subtree. Clicking an item in the tree, which only shows folders, causes the folder's contents to be displayed in the main pane of the window. For working copies, these items show their state, such as modified or not checked in, and a contextual menu provides commands for most operations. &lt;br /&gt;&lt;br /&gt;This program also has a lot of promise; it looks like it has the potential to provide all of the desired features I listed in the previous post. But due to some non-Mac like behaviors, as well as some bugs and/or unimplemented features in this non-final release, this potential is not yet realized. For example, it provides a diff feature, both for comparing the working copy to the repository, and for comparing versions within the repository. Invoking the former causes the program to crash, while the latter simply fails more gracefully. Thus I didn't get to see whether the diff result is visual or textual. Also, the dialog for comparing versions within the repository provides controls for selecting which versions to compare, either by revision or by date, but these controls are completely non-functional, thus only allowing you to compare HEAD with HEAD. Drag-and-drop is not supported, so for example the "move" operation within a repository requires you to type in the path to the destination. Other less critical but annoying quirks include the fact that many item names in the tree appear munged, and the fact that right-clicking an item in the main pane does not first select it. The latter behavior means that you must click to select the desired item, and then right-click it to bring up the menu, or else the selected menu command will fail to operate on the desired item.&lt;br /&gt;&lt;br /&gt;Like iSVN, this is another one to keep an eye on.&lt;br /&gt;&lt;h3&gt;&lt;a href="http://svnup.tigris.org/"&gt;svn-up&lt;/a&gt;&lt;/h3&gt;Finally, we come to svn-up version 0.8.0. This is a cross-platform program, written in Java. Actually, its primary purpose seems to be as a plug-in for the &lt;a href="http://www.jetbrains.com/idea/"&gt;Idea IDE&lt;/a&gt;, but it is also distributed as a standalone application in the form of a .jar file.&lt;br /&gt;&lt;br /&gt;Getting this thing to launch was no mean feat. Double-clicking the .jar file resulted in an error dialog from the OS's Java Launcher, telling me to check the Console for error messages. Doing so revealed the error:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Exception in thread "main" java.lang.NoClassDefFoundError: org/tigris/subversion/javahl/SVNClientInterface&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Luckily, I remembered that when I installed Subversion, it also installed the file /usr/local/lib/svn-javahl/svn-javahl.jar. So all I had to do was run:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;java -cp /usr/local/lib/svn-javahl/svn-javahl.jar -jar svnup-0.8.0.jar&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;...which resulted in the same error as before. So I dug into the svnup-0.8.0.jar file itself, and looked at the manifest file, and saw that it was looking for a file called svnjavahl.jar (note the lack of a "-"). So I copied the svn-javahl.jar file into the same directory as svnup-0.8.0.jar, renamed it to svnjavahl.jar, and double-clicked svnup-0.8.0.jar to launch it. Success!&lt;br /&gt;&lt;br /&gt;You know, these reviews of products that I'm able to quickly determine I'm not going to keep are becoming tiresome to write. So, suffice it to say that svn-up is an incomplete alpha-quality program, its UI is quite awkward in several places, its repository browser has hardly any functionality, it's not very Mac-like, and it probably also hates kittens.&lt;br /&gt;&lt;h3&gt;The Verdict&lt;/h3&gt;What a waste of my time. I decided to do a part 2 of my review because I wanted to give eSvn a fair shake, and I managed to find a few other programs that I had missed the last time. Turns out that eSvn was a non-starter after all, and none of the others are currently keepers. So basically I'm still sticking with &lt;a href="http://scplugin.tigris.org/"&gt;SCPlugin&lt;/a&gt; and &lt;a href="http://www.lachoseinteractive.net/en/community/subversion/svnx/features/"&gt;svnX&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I've visited the &lt;a href="http://www.syntevo.com/smartsvn/"&gt;SmartSVN web site&lt;/a&gt; again since my previous review, and it looks very promising, based on the feature list and the screenshots. This is not surprising, since it's the only one of the programs I've looked at that is commercial, and is at a release version. But as I mentioned in my first review, I can't use it until I have a server process set up so that I can access my repository using some protocol other than file://. And I don't know what that will involve, or how soon I will get around to trying to set it up. But it looks like it might be the right way to go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13362356-114291439694320618?l=www.doodpants.org%2Fkarlvonl%2Fblog' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/13362356/114291439694320618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13362356&amp;postID=114291439694320618' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13362356/posts/default/114291439694320618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13362356/posts/default/114291439694320618'/><link rel='alternate' type='text/html' href='http://www.doodpants.org/karlvonl/blog/2006/03/daddy-still-needs-new-subversion-gui.html' title='Daddy &lt;em&gt;Still&lt;/em&gt; Needs A New Subversion GUI'/><author><name>Karl von Laudermann</name><uri>http://www.blogger.com/profile/18086677237532832495</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15490890471512119172'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry>