Thoughts on revision control

What is revision control? Well, basically, it's a way to see changes that have been made. Someone will want to point out that any good word processor will have that feature; both MS Word and LibreOffice Writer do. And it's collaborative.

All true. But what about documents other than Word Processing documents? And have you ever actually tried to go back to a previous version?

True version control allows you to go backward, forward, or pick out any labelled point in time. Better, it lets you keep a master copy and a development copy. That development copy could be for webmasters as they make changes to a site, or other folks as they make changes to documents, retouch photos, etc.

Who needs revision control? Everyone. That's right. Everyone. Management, secretaries, webmasters, software developers, etc. Anyone who makes any changes to any files, including erasing them.

So who do I find using version control? Only software developers. And if they're like me, they tend to version all kinds of "junk". This document will be version controlled.

It's not difficult, and once you initialize the directory you want to control, you can automate it.

So why am I telling you this? Because I've had some dealings lately with server upgrades where the contracted webmasters didn't have (apparently) _any_ kind of control and had things break between versions and had no idea what was broken, how it was broken, or where it was broken. And when I found it for them, they insisted that that particular file had never been touched, although a vital line in the file was missing.

Which brings up another feature. If several people are working on a project (files in the same directory, like a web site), you have an audit trail as well because the software will tell you who commit a change.

Long story short, the IT department I am still doing some upgrades for, now understands they have no "master copy" of their website, and no way to track and audit changes in a development branch or not put something into production until it's been signed off by someone. But it looks like that's changing.

I'm now teaching some other software developers about the particular version control program I prefer (git), and I expect they'll insist their students start using it as well. At least, I hope so.