Search this site


Metadata

Articles

Projects

Presentations

Subversion 1.5 on Fedora 9

jls(~) % sudo yum install subversion
Loaded plugins: refresh-packagekit
Setting up Install Process
Parsing package install arguments
Package subversion-1.4.6-7.x86_64 already installed and latest version
I had hoped (hope is not a strategy) Fedora would have given me svn 1.5 by now. Nope.

To get svn 1.5, rather than ask fedora or google, I just built it myself. I needed to 'yum install neon-devel' and used './configure --with-neon=/usr --with-ssl --with-zlib=/usr/lib' to configure subversion. Otherwise the build/install went fine.

Huzzah!

My svn repo now online-ish.

Lack of updates due to all energy being spent on upgrades/fixes to my new house! Sorry folks ;)

Having recently merged all of my code repositories into one single subversion repository, I decided it was time to look into running a web-based interface to it.

Looks like some short time ago ViewCVS (like cvsweb) was rewritten to support different version control systems and renamed to ViewVC. It's dead easy to configure, so within minutes I had a happy web-based view into my new, single, repository.

Go to my svn repo

This repository contains most of the code I've ever written (excluding (job and school)-related stuff). Looking back at it now, there's code in there I haven't touched in years.

One of those is rssnews, which I wrote to teach myself perl back in 2002. The rewrite barely got started but made its way into source control. Seems funny now, where there are entire dot com businesses built around serving syndicated feeds, that I wonder where I might be if I had continued to maintain it? Surely I'd be a millionaire ;)

Another is 'diesel', a project I started to make automagic configuration of CSH's new FWSM context easy. I only finished the first part, which was an expect script which would read a config file in and install it into the firewall over ssh. CSH recently added a user-configurable web tool that allows members to configure firewall access rules for their registered machines. It uses this expect script to set rules, last I recall.

Good times. Oh, and I found this neat site the other day:
http://www.oreillynet.com/sysadmin/

It has some decent writing. Brian Jones makes some good points in this piece about sysadmins and technical books; that sysadmins are starting to lean towards writing more code than simple administrative tasks. He (I think it was him) also talks about how programming methodolgies have become more popular and adopted and questions why no common-practice sysadmin methodologies have risen.

Merging multiple svn repositories

Over the past several years, I've used mainly CVS. I tried switching to subversion, which has been slow-going. To speed that process, I merged all of my repositories together into one svn repo. I also used cvs2svn.py to convert everything in cvs to svn, which put everything into /trunk/ in the repository - not what I wanted. A simple script fixes that:
repo=file:///path/to/repo
svn ls $repo/trunk | xargs [email protected] -n1 svn mv $repo/trunk/@ $repo/@

I used svn poorly at first - one repository per project. To fix that, I needed to dump all of them (with svnadmin) and load them into a central repository:

# svnadmin dump all of my svn repositories
repodir="/home/foo
for i in $repodir/SVN/*; do 
  echo $i;
  svnadmin dump $i > $(basename $i).dump
done
# load all of my dumpped repositories into the new one
repo="/home/foo/NEWSVN"
svnadmin create $repo
for i in *.dump; do 
  proj="$(echo $i | cut -d. -f1)";
  svn mkdir -m "mkdir $proj for import" file://$repo/$proj
  svnadmin load --parent-dir $proj $repo < $i
done