Subversion FAQ

Why does this project exist?

To take over the CVS user base. Specifically, we're writing a new revision control system that is very similar to CVS, but fixes many things that are broken. See our front page.

Is Subversion proprietary? I heard that it belongs to CollabNet.

No, Subversion is open source / free software. CollabNet pays the salaries of several full-time developers, and holds the copyright on the code, but that copyright is an Apache/BSD-style license which is fully compliant with the Debian Free Software Guidelines. In other words, you are free to download, modify, and redistribute Subversion as you please; no permission from CollabNet or anyone else is required.

Will Subversion run on my operating system?

Subversion is written in ANSI C and uses the Apache Portable Runtime library as a portability layer. This means that Subversion will compile anywhere Apache httpd does. (Right now, this list includes all flavors of Unix, Win32, BeOS, OS/2, MacOS X.)

What's all this about a new filesystem? Is it like ext2?

No. The "Subversion Filesystem" is not a kernel-level filesystem that one would install in an operating system. Instead, it refers to the design of Subversion's repository. The repository is built on a database (currently Berkeley DB) and exports a C API that simulates a filesystem -- a versioned filesystem. Thus writing a program to access the repository is like writing against other filesystem APIs. The main difference is that this particular filesystem doesn't lose data when written to; old versions of files and directories are saved.

I heard that Subversion is an Apache extension?

No. Subversion is a set of libraries. It comes with a command-line client that uses them. The Subversion server is Apache + mod_dav + mod_dav_svn, and the last module uses the Subversion libraries to speak to a repository. For more information about how Subversion uses WebDAV as its network protocol, see our docs.

Does this mean I have to set up Apache to use Subversion?

If you want to host a networked repository: yes.

If you just want to access a networked (or local) repository with your client: no.

Why don't you do X, just like SCM system Y?

We aren't attempting to break new ground in SCM systems, nor are we attempting to imitate all the best features of every SCM system out there. We're trying to replace CVS. See the first question.

When's the next release?

See our status page.