Versioning Definition
A versioning file system is a file system which provides for the concurrent existence of several versions of a file; a form of revision control. In their most common form, they keep a configurable number of older copies of a file around, creating a new copy of the file at every change. Some limit the number of changes per minute or per hour to avoid storing large numbers of trivial changes. A different approach is taking periodic snapshots and making their contents accessible with similar semantics to normal file access.
A versioning file system is similar to a periodic backup, with several key differences. First, backups normally go to separate media; versioning file systems write to the same hard drive (and normally the same folder, directory, or local partition). Second, backups are normally triggered on a timed basis; versioning occurs when the file changes. Third, backups are usually system-wide or partition-wide; versioning occurs independently on a file-by-file basis.
Versioning file systems provide some of the features of revision control systems. However, unlike most revision control systems, they are transparent.






