Tuesday, October 20, 2009

Cool web app client for SVN repository

I've been searching for an easy to use, web client for SVN repositories. I had come across svnwebclient from Polarion, and it seems very promising, useful, with lots of features e.g. compare, diff, changeset, etc., but it requires a Java Container. I'm familiar with Tomcat which is free, so I installed it on it but performance wasn't great and Tomcat was using nearly 40% of CPU on a quad core when it was busy. I didn't venture with Jetty since the docs are horrible. I played with WebLogic a while ago, but purchasing that is not an option now. I looked into glassfish from Sun, downloaded and installed it. The installation was smooth, it even has a very nice web management tool for the server. However, when i deployed svnwebclient it caused the server to be unresponsive and was using 350-450mb of memory, so again performance was bad, so I abandoned that route.
"glassfish v3 preview" docs: http://docs.sun.com/app/docs/doc/820-7689/aboaa?a=view

Screenshots of svnwebclient  from Polarion:
Online Subversion file comparison screenshot
Compare SVN Files

Subversion repository browser screenshot
Subversion repository browser


This made me look at other web clients running on other frameworks, and so I found websvn, which runs on php. I tried installing it on my personal windows vista home premium x64 OS and found it was surprisingly easy to install. However, I was really frustrated with windows vista, absolutely horrible for doing any sys admin type of work, e.g. "run as" context menu has been removed, remote desktop has been removed, all menus, shortcuts, control panels have been re-arranged and so many more issues with it, which is another story.

Here's the installation instructions for websvn on a windows box (in my case IIS 6):

1) Go to http://php.iis.net/ and click on the install to initiate the "Web Platform Installer" program, which will download a ~15mb file to set up php on IIS 6/7. Below is the actual download location:
http://windows.php.net/downloads/releases/php-5.2.11-nts-Win32-VC6-x86.msi 

2) that program should setup the IIS mapping for .php extension. which should be mapped to the fastcgi extension, in my case it was located at c:\program files (x86)\PHP\php-cgi.exe.

3) Now simply copy and paste the contents of the websvn web app into an IIS virtual directory and convert that directory to an IIS app

4) finally, copy the file c:\inetput\wwwroot\websvn\include\distconfig.php and paste it as config.php. Read thru the contents of that file and change the necessary parameters to reference your SVN service

That's it.

Links for PHP on IIS 6 or 7:

No comments:

Post a Comment