views:

95

answers:

2

I have an Application that is based on loaded test programs, saved as text-based files in a specific user data folder. All fine. A client has just commented that they would like to have full traceability of changes to such test programs (for ISO9001 etc) and it occured to me that I could provide some kind of checkout / commit mechanism alongside the existing file load / save but which targetted a VCS (say SVN). The problem is that although I use Tortoise SVN for my own development, I've no idea how to write a simple program in Delphi to programmatically access SVN. Can anyone point me in the right direction?

+2  A: 

Using the SVN APIs seems like a good starting point.

Presumably you could also call the binaries directly e.g.

system( "svn checkout something" );

Although the simplest that appraoch should be avoided if at all possible.

Konrad
system() does not exist in Delphi, maybe you mean shellexecute
Marco van de Voort
+5  A: 

You may want to look at the source code to DelphiSVN it's an OpenTool API application that integrates SVN into the Delphi IDE.

The SvnClient.pas in that project looks like an excellent way to call the SVN API with the low level wrapper for the API in svn_client.pas

Robert Love
+1 mentioning SvnClient.This is an excellent Delphi open source project. However, SVN API is a little bit complicated and you need to dive deep in some rules and behaviours of SVN that are not seen in TortoiseSVN.
ChristianWimmer
Excellent pointer, thanks.
Brian Frost