We were talking about version control systems and how far back we went and our different tricks to do version control with files that don’t like version control or projects that don’t use version control.
- Git
- Mercurial
- Perforce
- AlienBrain
- Visual SourceSafe
- SVN
- CVS
- RCS
Then you get in to numbered files. But this numbered file names still exists today. Even when you use version control. It gets especially bad in audio studios and creative agencies.
“Character-Map_test_final_for_goff_v2.psd”
“goff” no longer works at the company. We cannot remove “goff” from the filename because another programmer hard-coded a regex in a microservices Docker container of some back-end server code and the person who can fix it has too many OKR’s to meet already and responds with “it would take me longer to explain where to find it than to fix it myself.”
Side note: Every time an artist changes the filename of an asset in a project, somewhere a young, child-like programmer quits the games industry for good.
Then you get into 5+1/4″ floppy disks stored in colour coded boxes for the day of the week. This acts both as version control and backup system.
Interesting anecdote: When I was doing ZX Spectrum and C64 development, those machines were hooked up to a separate computer (either a RML 380Z or a BBC Micro) via a custom interface card. Write code on the Beeb or RML, download to Speccy or C64. I used to use two Atari ST computers or two CBM Amigas hooked up to each other for dev work on those platforms as well. Made backups, versioning and “oops, the game crashed and reset the machine” a lot easier to deal with. You didn’t care if your code crashed the machine or went into an infinite loop, you could simply reset the target machine, adjust your code, and download it again. And this is how we do modern console development too.
And then, for the 8-bit era, I get to the C15 audio cassettes with hand-written labels. stored in manila envelopes. Some of those tapes I still have as part of my “historical artifacts” collection from my early game development career.
I am sure there are people out there with tales of punched cards and paper tape, but I’m interested more in how version control was done in systems that didn’t have tooling to support it, rather than a “who is the oldest today” competition.