FAQ: Why Not Just Use Tape Backups?

The question is e.g. from a thread in comp.software.config-mgmt.

It seems simple, but making it practical would bring up gotchas, the solution of which will lead to designing an SCM system.

  • Bringing back yesterday tapes would be easy if you could throw away what else has been done since.
  • Since you cannot, you have to compare the two configurations, understand the dependencies. This is not trivial and won't scale well.
  • With backup there is only one dimension: time. It means synchronously forcing all the developers to the same situation, forcing everyone to cope with everything (the very common /main/LATEST syndrome)
  • Was yesterday situation consistent? Was the bug you found today surely not there already? What brought it in, in fact?
  • If you intend to restore only certain files, which ones build up a consistent configuration?

SCM was born, at least in one tradition, as a flexible end user backup system for sources only. This was a long time ago. Sources are probably not the optimal focus for managing the complexity of common situations arising in software development.

-- MarcGirod - 28 Jul 2007