VCI::VCS::Svn - The Subversion implementation of VCI
This is a "driver" for VCI for the Subversion version-control system. You can find out more about Subversion at http://subversion.tigris.org.
For information on how to use VCI::VCS::Svn, see VCI.
For the repo argument to "connect" in VCI, pass the same URL that you'd pass to your SVN client, without the actual branch name. That is, pass a URL to the very root of your repository.
For example, if I have a project called Foo that I store in svn.domain.com/svn/repo/Foo then the repo would be svn://svn.domain.com/svn/repo/.
svn.domain.com/svn/repo/Foo
repo
svn://svn.domain.com/svn/repo/
VCI::VCS::Svn requires at least Subversion 1.1, and the SVN::Client perl modules that ship with Subversion must be installed.
These are limitations of VCI::VCS::Svn compared to the general API specified in the VCI::Abstract modules.
VCI::Abstract
For added, removed, modified and copied, objects only implement Committable without actually being File or Directory objects. This is due to a limitation in the current Subversion API. (See http://subversion.tigris.org/issues/show_bug.cgi?id=1967.)
added
removed
modified
copied
VCI::VCS::Svn performs well with both local and remote repositories, even when there are large numbers of revisions in the repository. We use the API directly in C (via SVN::Client), so there is no overhead of actually using the svn binary.
svn
Some optimizations are not implemented yet, though, so certain operations may be slow, such as searching commits by time. This should be easy to rectify in a future version, particularly as I get some idea from users about how they most commonly use VCI.
To install VCI, copy and paste the appropriate command in to your terminal.
cpanm
cpanm VCI
CPAN shell
perl -MCPAN -e shell install VCI
For more information on module installation, please visit the detailed CPAN module installation guide.