SvnClasses is a Lazarus package to help writing applications that interact with a Subversion (svn) repository. It requires an installed command line svn executable for accessing a svn repository and/or a working directory. I used these classes for writing a tool to mirror the Lazarus svn repository to Sourceforge.
LGPL with the linking exception, same as the LCL.
The package is available in Lazarus CCR SVN repository at https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/svn
The latest stable release can be found on link to the lazarus-ccr sf download location.
- Version 0.1 2007-03-07
Dependencies / System Requirements
- Requires fpc 2.1.1 or later, because of the use of TProcess enhancements.
- Requires an svn executable on the path or in default location in windows.
- Although this package can be used for command line applications, it depends on the LCL for some functions from the FileUtils class
- The ExecuteSvnCommand procedure doesn't capture the output on StdErr
- The ExecuteSvnCommand procedure hasn't configurable verbosity
- extract the zip file
- open the svnpkg.pkg and compile the package.
For use see included unit tests.
- open the test\fpcunitsvnpkg.lpi project and run it.
I have written these classes to support fpsvnsync, a tool similar to svnsync to mirror the lazarus svn repository to SourceForge. The svnsync tool doesn't work, because Sourceforge doesn't allow revision property changes.
- fpcup contains unified classes for subversion, git, and mercurial which may be an alternative. They are currently focussed on checkout/update operations but basic support has been added for committing.