Search
Close this search box.

Comparison: Subversion Web Access Apps

Here’s my review of known Subversion web-based access tools. If you notice any discrepancies, please let me know. Thanks!

Updated Dec 8, 2005

Overview

The features I’m comparing are the product version (ver); date I last checked for an update (date); language (lang); version of Subversion developed to (svn); whether the tool has any of the following capabilities: WebDAV (DAV), check-in/commit, templating, viewing multiple revisions (rev), RSS output, diff, branch viewing, and search; when the tool was last updated; and, finally, whether there is a demo available.

ToolVerDateLangSvnDAVCheck-InTemplatesRevRSSDiffBranchSearchUpdatedDemoScore
Chora2.0.1Dec 05PHP1.0?NoNoYesNoYesYesNoOct 05Yes5
mod_dav_svn
1.2.3Dec 05C1.2.3YesNoYesNoNoNoNoNoNov 04No4
mod_svn_view
Dec 05C1.1YesYes1
SVN::Web0.41Dec 05Perl1.0.4NoNoYesYesYesYesYesNoNov 05Yes7
ViewVC0.9.4Dec 05PhytonYesYesYesYesYesNov 056
ViewSVN0.0.8Dec 05PHPYesYesDec 05Yes4
WebSVN1.6Dec 05PHPYesYesYesYesAug 04Yes5

If a cell is blank, the feature has been neither confirmed nor denied. Positive or desired responses have also been highlighted. The score accounts for the number of desired responses.

Chora (Go)

This is by far the most interesting tool. I really like how the tool looks and works in the demo. I don’t know how customziable it is, if at all, which is pretty important to me. Some of the views are kind of confusing at first glance, but pretty understandable after a good look. One thing I worry about is whether or not it works with Subversion the same exact way. ViewCVS is supposed to support both but has several features that don’t work on Subversion. For instance, I noticed that Chora has an Annotate page which is the equivalent to Blame (not that I understand this name, but whatever). They should map easily, but do they? We’ll see…

The bug “tracker” is very rudamentary. It only has one in it and doesn’t specify the date it was put out there. The todo list has 7 items on it, but no info on how long they’ve been there or which ones are most important.

Come to find out that Chora 2.0 (currently release candidate 1) is supposed to support Subversion. One of the Chora developers mentioned that it should support Subversion 1.0, but it was built off of 0.something.

Overview ]

mod_dav_svn

The mod_dav_svn Apache module comes with Subversion. It supports a top-level (latest revision) read-only view of a particular repository. The point of this tool is that it provides access to repositories on a remote server. Personally, I’d like to have a tool that encapsulates this capability because it’s very limiting. If another tool provided the WebDAV support, I’d drop this module without hesitation. That way, I could use it to access the code.

One nice feature seems to be the fact that you can create custom XSL files to format the output. I haven’t played with it considering I’m hoping to find a better tool, but XSL is very flexible, given the right “hooks” into the code.

Overview ]

mod_svn_view (Go)

This tool seems to be mod_dav_svn with the added benefit of speedier transactions. Everything else seems to be the same – well, I’m not sure if it supports WebDAV or not, tho. I’m assuming not.

I did receive some info on other features that this tool supports (revision browsing, diffs, and RSS). There’s also supposed to be a demo available, but I wasn’t able to get to it. Perhaps it’ll be up later.

Overview ]

SVN::Web (Go)

Well, for some reason, I’ve convinced myself that this is in the top 3. The problem is that I have no idea why. Nonetheless, I refuse to just give up. I finally found a demo site. I don’t think I can stress the “finally” enough. I must say that the biggest problem with SVN::Web is finding more information on it. That leads me to believe that it’s not widely used.

After taking a look at the demo, I’m kind of leaning away from it. Basically, it looked like mod_svn_view with a pretty template and the capability to view multiple revisions and diff with one previous version of each file revision. I wasn’t able to see the RSS output, so I couldn’t tell you what that looks like. I saw somewhere online that someone said it was sufficient, but had a lot of room for improvement.

Overview ]

ViewVC aka ViewCVS (Go)

My initial thoughts on ViewVC ViewCVS were that it would probably be the best tool since it has twice the community to push forward with development and feature additions. After looking at it, tho, I think I was wrong. Considering it hasn’t been updated since Jan 2002, I would be very weary to implement such a solution. I like some of the features it has, but almost 3 years isn’t good enough in my eyes. Moving on…

Looks like ViewCVS packed it up and moved over to Tigris (from SourceForge). Along with the move, the project has been renamed to ViewVC. I haven’t been able to access the Tigris site, so I can’t give too much of an update, but I am very curious as to what upgrades may be in the future.

I’ve been told that ViewCVS is under continuous development, despite the long time span since the tool’s last release. And, even with revision and branch support, I still question it’s feasibility. I guess part of that is based on it’s python code-base. If you know python, however, this could be a great option for you.

Overview ]

ViewSVN (Go)

First and foremost, let me point out that, in the words of the ViewSVN developers, “If you are looking for a feature-rich and robust Subversion repository browser, this one is not for you. Try ViewCVS instead.” Well, that about sums it up. There is a demo available, but it is seemingly lack-luster.

The last time I tried the demo, the link was broken. For anyone looking for another demo, try this one. I haven’t noticed any improvements, but the tool has been updated. Then again, moving from a 0.0.6 to 0.0.8 release in a year tells me not to expect too much.

Overview ]

WebSVN (Go)

The activity of this project seems to be pretty good, but it died off in August 2004. There are 7 posted issues, 1 from June and the rest from October and November (the last one, #14 was from Nov 22, the day I initially posted this article). The only thing I’m wondering is how much the tool is used. Of course, I’d like to go with a tool that is widely used and more importantly has a broad developer community. It has 50 observers and one project owner.

After taking a look at some of the demos (123), I came up with the following list of reservations about the tool.

  • I like the look and feel… very nice – I still wonder how customizable it is, tho
  • I like the list of modified and new files, but would like to see a marker on the file icon in addition to the list of files
  • Diff only supported for previous version (see comment 17617)

The demo doesn’t seem to be available right now and no updates have been made since my last look at the tool. Choosing the best tool seems to be getting easier and easier. Don’t know if that’s good or bad, tho.

Overview ]

My Conclusions

[Dec 8, 2005]
I’m on a new project and figured I’d revisit this comparison to see if anything new has come around. Unfortunately, I’m not seeing anything. Some contendors seemed to have all but dropped out of the race, while others have provided updates, yet remained feature stagnant from what I can tell. I’m not in dire need of a tool, tho, so perhaps I’ll just put it off for a while.

Looks like the top dogs are SVN::Web and ViewVC (aka ViewCVS) with Chora and ViewSvn close behind.

[Dec 2004]
Hopefully, everyone will come to their own conclusion based on this and other reviews. As a matter of fact, let me know if there are any other reviews or data updates and I will gladly link to them and/or update my data. I believe that I’ve decided to go with Chora, though. Chora just seems to be the most mature and fully functional. I was minimalistic when comparing features, but Chora seemed to have the best of breed. I may be asking for it by deciding on a tool built for CVS, but only time will tell. I will be playing with the 2.0 RC2 release at first. Based on their recent history, I expect the stable 2.0 release to come by end-of-year (this is my assumption, nobody has implied this).

[Nov 2004]
My review led me to believe that the mod_dav_view was the only tool that supported WebDAV. That kind of sucks because I don’t really like the way it handles requests. Oh well. I guess it’s time to get over that. After a brief glance over the tools, the three that seemed the most feasible were Chora, SVN::Web, and WebSVN.

Other Tools and Utilities

Here’s a list of useful tools and utilities that I’ve found that relate to web-based Subversion (and maybe other) tools. Hopefully you find them useful, too.mod_authn_dbiProvides Authentication against an SQL database back-end. It uses the application-independent abstraction layer provided by libdbi.mod_highlightA Syntax Highlighting Filter Module for Apache 2.0.GNU EnscriptGNU enscript converts ASCII files to PostScript and stores generated output to a file or sends it directly to the printer. It includes features for `pretty-printing’ (language-sensitive code highlighting) in several programming languages.

This article is part of the GWB Archives. Original Author: Michael Flanakin

Related Posts