For the past few months we’ve been working hard on the new Oi Polloi e-commerce website and EPOS system . With so many members of the team working on the codebase simultaneously we need a good way to manage the various updates, bugfixes and developments. Our weapon of choice is the popular version control software, Subversion.
We use Subversion on every project; it keeps track of our files, logging every change we make. It also enables more than one person to work on a single file without running into problems and conflicts. Over time we end up with a detailed history of each project allowing us to see how the code has evolved and who’s been working on what.
We’ve fed this log into a great open source piece of software called Gource. Gource visualises the files and directories of our codebase as a springy, bouncy tree. Each member of the team hovers around firing ‘lasers’ at files they are working on. It’s a pretty cool effect.
Pay particular attention to the end of July as we have a flurry of activity a few weeks before handing the site over to the client for User Acceptance Testing.
If you’d like to recreate this yourself you’ll need to install and compile Gource (and ffmpeg if you want to save the output as a video). I used the Homebrew package manager for OSX which makes this process a lot easier. Below is the command we used for Gource and ffmpeg. You'll want to update the file paths and other options to suit your project.
gource -960x540 --seconds-per-day 1 --auto-skip-seconds 0.1 --file-idle-time 0 --max-file-lag 1 --max-files 0 -e 0.3 --title "Oi Polloi Development" --hide dirnames,filenames --font-size 18 --font-colour FFFFFF --background 111111 --bloom-multiplier 0.8 --bloom-intensity 0.5 --stop-at-end --key --hash-seed 3798 --colour-images --default-user-image ~/gource/default.png --highlight-users --logo ~/gource/message_logo.png --user-scale 3 --multi-sampling -o - | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libvpx -b 10000K ~/gource/oipolloi.webm