So I was a bit slow in trying git out for myself, I’ve occasionally done git checkouts of code that I wanted to try out but I had never tried to do any repo work with it. However after much discussion we chose git as the repo system for kongoni ports because it has features that works really well in that realm – and so it came that I had to set up my first git repos.
I spent a few hours today studying how git works and within a short while I could set up a really nice system for kongoni. Gitosis made setting up secure repos’ for the developers easy and quick, and then the fact that every git copy is also a repo became really powerful.
A simple script I wrote can take the git repos daily and clone them into the webserver for read-only repos that can actually be used by users, and since git checkouts are fully standing repos, these can be mirrored over rsync and kongoni users can sync their ports tree from any of the mirrors while still having full access to the version-controlled, incrementally changing ports tree as created by us.
Another advantage is that since there is in fact two repos (one where we work and one read-only where users check out from) with a delay between them, if a mistake creeps in and we can fix it the same day it will never even be seen by users.
Git’s concept of distributed version control is weird at first if you’re used to the svn/cvs approach of centralized version control but once you get it… it’s actually an awesome way of working that really ties in well with both the free software and open source ideals.
I wasn’t the one who proposed it for the ports, that credit belongs to Marius but I can see why it got such support, now I started working with it, I’m completely sold and I’ve not even explored half it’s features.

Bookmark and Share

Comments are closed.