ViewVC Installation for SVN

ViewVC installation

SVN is just an installation of binaries on server machine which is usually accessed by apache (oh! there are other ways too but let me stay with apache here).
There are Several client side UI tools to access SVN like tortoise SVN, Silk SVN etc through which you can access history and other metadata of your repository.
Some time still there is need to have a strong browser based UI tool which can provide accessibility for traversing repo in a nice fashion where you can have look at history, commits, authors, logs etc..

ViewVC is the best fitted tool (according to me) which can provide about functionality for you. You can find more information here.

I my last blog i have explained about installing SVN . Here i am going to run through the ViewVC installation on top of svn installation, which means you can run view VC on same server using same apache which is being used for SVN.

Install bindings for viewVC
Change directory to subversion directory where you  are compiling as per my Previous blog, This is needed to install swig bindings for viewVC.

make swig-py
make install-swig-py
tell your Python where to find the subversion bindings
echo /etc/subversion/lib/svn-python > /usr/share/python2.6.7/lib/python2.6/site-packages/subversion.pth
echo /etc/subversion/lib/svn-python > /usr/lib/python2.6/site-packages/subversion.pth

Test the swig binding installation
python -c "from svn import client"

It should not throw any error.

Link svn lib and bin to /usr/lib and /usr/bin

Download and untar the source code file from here 

./viewvc-install --prefix=/usr/share/viewvc

Edit the /usr/share/viewvc/viewvc.conf file to add SVN path and mail ID

Edit httpd.conf to include following

    ScriptAlias /viewvc /usr/share/viewvc/bin/cgi/viewvc.cgi
    ScriptAlias /query /usr/share/viewvc/bin/cgi/query.cgi

    <Directory /usr/share/viewvc/bin/cgi>
        Order allow,deny
        Allow from all


You should be able to access your ViewVC with URL like <YourSVN URL>/viewvc


Popular posts from this blog

Colour formatting - Jenkins Console

Manage Docker images on local disk

How to migrate Parent pom from maven to gradle