SVNBrowser is a Java webapp which provides friendly web access to a Subversion repository. It goes above and beyond the browser interface provided by mod_svn and mod_dav_svn by providing the ability to upload files to a Subversion repository (users may either add a new file or replace an existing file with a new version), to replace existing files with a new copy (automatically generating diffs against the old), to delete files, to create and delete directories, and to move files. It also features an access control system by which only certain
parts of a repository are made visible to end users (for example, if you want web users to be restricted to seeing and modifying content inside the "/docs" directory within your project).
Configuration is done via a simple XML file which requires you to provide a name and (http/https) URL for each repository. Access control is enforced through Apache, which means for most people, user access will automatically "just work".
The ultimate goal of SVNBrowser is to give non-technical users--people who don't want to download and install a Subversion client, check out a working copy, or deal with understanding the semantics of Subversion--a friendly interface to a Subversion repository, so that it can be used for (among other things) versioned document storage.
SVNBrowser source is hosted in a Subversion repository located at http://www.brownjava.org/svn/svnbrowser/