What are the advantages of version control systems that version each file separately?

Posted by Mike Daniels on Programmers See other posts from Programmers or by Mike Daniels
Published on 2011-06-27T19:32:02Z Indexed on 2011/06/28 0:29 UTC
Read the original article Hit count: 687

Filed under:

Over the past few years I have worked with several different version control systems. For me, one of the fundamental differences between them has been whether they version files individually (each file has its own separate version numbering and history) or the repository as a whole (a "commit" or version represents a snapshot of the whole repository).

Some "per-file" version control systems:

  • CVS
  • ClearCase
  • Visual SourceSafe

Some "whole-repository" version control systems:

  • SVN
  • Git
  • Mercurial

In my experience, the per-file version control systems have only led to problems, and require much more configuration and maintenance to use correctly (for example, "config specs" in ClearCase). I've had many instances of a co-worker changing an unrelated file and breaking what would ideally be an isolated line of development.

What are the advantages of these per-file version control systems? What problems do "whole-repository" version control systems have that per-file version control systems do not?

© Programmers or respective owner

Related posts about version-control