svnpserver is a software that acts as a CVS pserver implementation specifically designed for Subversion. It allows users to access and manage data within Subversion repositories from any client machine that supports the CVS protocol.
One use case for svnpserver is for those applications that reside on old branches that have already been delivered to customers and will need to be rebuilt in the future. Instead of porting the entire build-system to subversion, svnpserver allows you to continue using the CVS pserver implementation.
Another benefit of svnpserver is for tools that use version control but can only work with CVS. With svnpserver, you can still take advantage of Subversion's features without changing the tool's implementation.
Before installing svnpserver, make sure to install the python SVN modules first. The latest version of svnpserver supports http and svn+ssh repository access methods, but accessing the repository via the file method is currently not recommended.
With the svn+ssh access method, the SSH agent socket serves as the cvs password. Meanwhile, for the http access method, it's important to do a blind login using the command cvs login with the correct username and password for http authentication.
If your password is incorrect, svnpserver will repeatedly try to authenticate with subversion, resulting in an infinite hang on a cvs command that needs authentication, so make sure your authentication details are correct.
Currently, svnpserver ignores CVSROOT but this may change in the future so it's something to keep in mind.
If you want to try out svnpserver for yourself, the usage is simple: just type svnpserver.py [-p|--project project] [-s|--syslog] svnroot. The latest version of svnpserver includes a version command and a fixed bug that previously prevented the checkout of tags and branches.
Version 0.7.4819: N/A