How do you explain source control to a non-programmer? Our creative department head was chatting with me yesterday and said that he has no idea why we use CVS. It makes no sense to him. Despite the fact that he's been using CVS for months now, it wasn't until today that I faced the mess that his confusion has caused (and that's certainly curious timing).
I needed to update a few query strings in some HTML docs, only to find that he's been editing files directly on a server without bothering to check changes into CVS. He'll toss new files out there just to "test things out" and we don't know what goes with what. A simple change that should only have taken a few minutes is now a few hours of wading through this mess. The creative department head and I get along very well, so if I can find a way to explain it to him that he understands, he'll be receptive, but so far he's found no value in tracking older versions of what he does. Sigh.
Benefits that he should understand:
Update: Our CTO had a chat with him this morning. Apparently, as a result of that chat, the creative director went through and got everything straightened out in CVS. He wiped out all of my work from yesterday, too.
I was working on a project for a graphic design firm that wanted a revision control system, but they and their clients did not want to change their current behaviors.
What we settled on was a WebDAV (Distributed Authoring and Versioning) folder their Windows machines could connect to. DAV would transparently handle concurrency/locking. My code transparently made backups of everything they saved. The clients didn't really care about version comments or merging files together.
Behind the scenes the WebDAV stuff worked on an Apache server with custom mod_perl handlers to talk to an Oracle database to store revision info. The backup files were simply numbered
Perhaps you should stage a few disaster situations for your graphic guy to recover from- such as editing a file while he's editing it and overwriting his changes. Nothing teaches like real-world experience. Or, since you like the guy, just demonstrate how smoothly and efficiently things can work with CVS in place- version logs, etc...
Re:CVS for nonprogrammers
rooneg on 2003-02-05T00:44:37
if you want autoversion'd WebDAV without having to write a custom backend, Subversion can do that, although you have to use a bleeding edge version of apache, and the support is still a bit flakey (as our WebDAV/DeltaV support is currently limited to pretty much 'what we need to make svn work'). some people have reported success with it though. see here for some details.