Subversion is an open source, centralized, version control system. Oculus' revision management experts have been working with Subversion since its early releases. They are ready to help you take advantage of the benefits of revision management.

Open Source. Subversion uses no proprietary formats or protocols. Since the formats, protocols, and source code are completely open, subversion is extensible. Your data will never be trapped in a proprietary system.

Many users worldwide. Since Subversion became self-hosting in 2001, the number of people using it has grown tremendously. Hundreds of thousands of people use Subversion throughout the world, on projects large and small, in teams of one to thousands.

Complete version control operations. Subversion supports a myriad of version control operations. Commits are atomic. Directories are versioned. Copying, deleting, and renaming are versioned operations. File locking is supported, but not required. Symbolic links can be versioned. Merges are tracked.

Efficient handling of binary files. Subversion handles binary files just as well as it handles plain text. Binary files are automatically recognized. An efficient binary diffing algorithm is used to transmit and store successive revisions.

Repository mirroring. Subversion repositories can be mirrored (via push or pull) to keep one or more slave repositories in sync with a master repository.

Client-Server, layered design. Subversion is a client-server system. The implementation is modular, with well-defined interfaces designed to be called by other applications. The layered design enables integration with your workflow, no matter how simple or complex it might be.

A replacement for CVS. Subversion was originally designed to be a better CVS (Concurrent Versioning System), so most CVS operations have a direct equivalent in subversion. Subversion has since expanded its original goals, but still maintains familiarity for those used to CVS.

Bindings to programming languages. Subversion is written in C. The application programming interface (API) has bindings for many programming languages such as Java, PERL, Python, and Ruby.