We recently had a kerfuffle on one of our other systems which stemmed from a key script not being properly synced between nodes in an HA environment. While this is neither here nor there, it got me and my group to thinking about ways which we could improve the quality, consistency, and reliability of our code. One area which was immediately identified as an opportunity for improvement was the implementation of version/source control for all of our key files (shell scripts, tcl procs, Xlates, NetConfig, etc.)
Presently, our version control is entirely manual, meaning we simply make backups of files as needed in the $SITEROOT/revisions directory. I probably don’t need to explain why this is a bad and untenable process.
As a former part-time web developer, a more savvy former peer of mine turned me onto his VCS of choice, git. Git was not in vogue when I was doing web work, but I wish it had been because it blows everything else I’ve seen out of the water in terms of speed, flexibility, reliability, and ease of use.
I want to investigate whether there’s a way we can implement git at our facility for both version control of files, as well as packaging and deployment of changes. was hoping maybe some folks at other sites had experience in using git to control versions and source, as well as manage moving code between environments.
Thanks!