superversion.org
Superversion: The Concept
Home
Download
Tutorials
Concept
User quotes, stats
Screenshot
2.0 series
FAQ
Mailing list
Get sources
Old news
Support This Project

Paradigm

Most version control systems such as CVS are file-centered. Every file is versioned separately. There are only loose relations between files, for example if they are given the same tag. However, tags are a fairly dull structure; CVS does not even maintain a global list of all tags in a project.

In contrast, Superversion is based on changes and change sets. A change can be:
  • Creation, deletion or modification of an individual file
  • Modification of the list of files to ignore
A list of changes is called a change set. Every versioning step takes a project state and transforms it into another state by applying a change set.

The dependencies between states can be visualized nicely as a graph. In fact, that is the primary way the Superversion GUI displays project history.


Author: Stefan Reich (, www.drjava.de) SourceForge Logo