Sternas,
Thank you (although I'm not quite sure what you were getting at).
Regardless, the SVN package in Lazarus is very buggy (yes I know it's alpha), and is really unworkable.
We are using Syncro SVN to see how that works. Although it is done manually, it is about the best fit we have (I assume you could use Tortoise SVN or any of the other SVN clients).
After Setting up the repository on the remote server (VPN and mounted network Drive) and your working directory on your local machine here's the protocol we are adopting (which may get some tweaking, but it appears to work). Not trying to insult the intelligence of those who have been doing this for years, but it might be useful to someone trying to work out how to use Version Control with Lazarus:
Note: Because you will usually be working on a form (*.lfm) file and the associated code (*.pas) file you need to ensure that you lock/unlock/add/commit the two corresponding files NOT JUST the *.pas file. Remember to Refresh the view in (Your SVN Client) SVN since your local version may not always represent the state of the repository on the remote server. The overarching rules are:
1. Do not edit anything without first checking to see if it is locked and then placing your lock on it
2. When finished (or if you are not going to use the files for a while) if unedited the simply unlock, else Commit the files back to the repository
3. Remember that each *.pas file will (usually) have a *.lfm file, perform the SVN operations on both
Managing files using (Your SVN Client) SVN:
Existing files
1. Determine which file(s) (*.pas and corresponding *.lfm) you want to EDIT
2. Do a LOCK CHECK using Synco SVN
3. If LOCKED then END (you can see who has it locked and negotiate its release)
4. If NOT LOCKED place a LOCK on the *.pas and corresponding *.lfm files
5. EDIT as required using Lazarus
6. When finished editing (or when a substantial edit has been done):
. COMMIT the files
. If finished with the file then REMOVE the LOCKS
. Else continue EDITING
Adding New Files
1. CREATE the file (unit etc) in Lazarus
2. This will create a *.pas and *.lfm file in Working Directory
3. EDIT as required using Lazarus
4. When finished exit Lazarus and In Syncro SVN:
. Right Click *.pas file and ADD the File to version control
. Right Click *.lfm file and ADD the File to version control
. COMMIT the *.pas file
. COMMIT the *.lfm file
5. The files can now be edited as in Existing Files above
Cheers,
Kevin