• I've used a variety of version control systems over the years, including a couple of home-rolled ones back in the days when there were no useful version control systems. Most version control systems are horribly flawed in that they make no attempt to integrate version control and configuration control. When each developer is responsible for his own chunk of code (so that the semaphore effect of checkin/checkout is irrelevant) a very simple version control system is fine provided it hooks onto some sort of configuration control. For projects with fewer than about 30 developers, complex checkin/checkout can be just a pain - it may be better to work with a t-card system on an array of slots on a wall somewhere (open plan offices and low-wall cubicles have of course reduced the available wall-space so in many places the T-card version of checkin-checkout can't work). For really cooperative development (where the checkout semaphore is multi-pass) some sort of merge process is needed with checkin, and although there are several attempts out there to automate that I would rather do what I did back in the early days - have human beings handle the merge (with the aid of tools designed to help them, of course).

    In my first job, we had no version control - and it didn't seem to do any harm; but we were doing research, not development. I left that job at the end of March 1969. In my second job I invented my own version control, because as well as research I was doing some development. after that there was always some sort of version control, although it varied from being a component of a very feature-rich development environment, ICL's CADES to something very simple like VSS. In my last permanent job, when I joined the company (2002) it used VSS for all C++, some JS, all HTML, and nothing at all for SQL or Flash. The only way to discover the current schema was to log in to one of the customer sites and get it to script every database - you had to know which customer had the latest version, but as there were only two customers at the time that wasn't too hard; I changed that rather quickly.

    Tom