SVNCOM is a set of COM objects designed to provide subversion functionality for purposes of automatization without direct usage of sources or command line client. There are lot of reasons why usage of source codes directly can be not convenient. The main is necessity to spend much time for learning and requirement of specific knowledge (senior "C language" skills). Usage of command line client also cause lot of problems and the main are: problem with file names encoding and output parsing. On Windows OS, COM binding will allow access to subversion almost from any place: .NET code, native Win32 code, vbs scripts (standalone, VB for applications, ASP etc). So you can use subversion in your programs and automatizations scripts easy. SVNCOM bindings available in two packages: MSI installer with "SDK" (few vbs examples, svn help file and some api help) and MSM redistributive package. The MSM package will allow easy integration with your own installer. SVNCOM bindings can be freely redistributed, preserving both subversion (tigris) and PushOk Software copyright rights. Both licenses grant almost non limited usage in binary form. SVNCOM now is the part of Pushok SVNSCC Proxy (SCC API integration plug-in). This mostly means that binding have the commercial quality and will be maintained in the future. But in the same time SVNCOM project is an open source project and any contribution (including money donations) are welcome. SVNCOM binding API is closely linked with SVN "C" api which is closely linked with SVN command line client functionality. Binding have two main object "SVNClient" and "SVNAdmin" which correspond to "svn.exe" and "svnadmin.exe" correspondingly. Few events are raised from client: cancellation ask (idle), working copy notifications and progress. Typical usage of COM binding will look like this (vbs code): dim client
' create client
set client = CreateObject("PushOkSvn.SVNClient")
' set any options (if any), for example user name and password
client.SetOption SvnClientOptionDefUserName, "User"
client.SetOption SvnClientOptionDefUserPassword, "Password"
' init client
client.InitClient()
' use it, for example let's add some files into repository
dim src
set src = CreateObject("PushOkSvn.StringVector")
src.Add("C:\some\path\here")
client.Import src, "svn://some.svn.url/here", "Commit message"
Read more: SVNCOM
' create client
set client = CreateObject("PushOkSvn.SVNClient")
' set any options (if any), for example user name and password
client.SetOption SvnClientOptionDefUserName, "User"
client.SetOption SvnClientOptionDefUserPassword, "Password"
' init client
client.InitClient()
' use it, for example let's add some files into repository
dim src
set src = CreateObject("PushOkSvn.StringVector")
src.Add("C:\some\path\here")
client.Import src, "svn://some.svn.url/here", "Commit message"
Read more: SVNCOM