Using SSCM as a Version Control System Fail-over September 7, 2007
The primary reason behind my creating SSCM was because I don’t feel I can trust Perforce. And when you can’t trust, or can’t afford to exclusively trust, a critical system you use a fail-over. Any large company worth it’s salt has fail-over systems. When one critical machine goes down another is ready to take it’s place. Sadly, there are a lot of companies not worth their salt, but that’s a separate discussion.
Fortunately for you, the benefits of SSCM extend far beyond my personal needs. Imagine that you work at a company with a centralized version control system. What happens when the server goes down, or becomes unreachable? Maybe you’re on a plane, or spending the weekend in a cabin in the woods. Why you can’t reach the server doesn’t matter. What matters is that you want / need to hack and are totally unable to use your version control system. No comparing your current version to those of the past. No diffing branches. No new branches. No merging branches. Nothing.
Or…. it would be nothing if you weren’t using SSCM. You see, if you use SSCM to keep a Distributed Source Control Manager like Mercurial (Hg), Darcs, or Git in sync with your main centralized system then when it goes down you have fully functional version control system with a full* revision history.ďż˝
* There’s an asterisk next to “full” there because its full back to the point you started using the DSCM unless you take advantage of Tailor which can convert revision histories between source control managers, which is great for migrating your old data to a new system.
So how would you go about using something SSCM as a fail-over system? Like this:

