Lightning: Here is a windows batch script that takes care of checking out and updating Lazarus from SVN to a subdirectory and even basic error fixing, because i have no way of knowing where Lazarus is installed it cannot compile or copy the files to your working Lazarus installation. Please save the script as getlaz.bat or some other name, however there is no warranty of any kind, use at your own risk, put it in a test directory first and make sure there is no subdirectory already called lazarus.
@echo off REM Script for checkout and update Lazarus from SVN echo. REM Check if lazarus directory exists to update or checkout first if exist lazarus ( echo Updating Lazarus, please wait ... cd lazarus svn update if %errorlevel% NEQ 0 goto CleanupLaz cd .. goto Exit ) echo Checking out Lazarus for the first time, this might take a while ... svn checkout http://svn.freepascal.org/svn/lazarus/trunk lazarus goto Exit :CleanupLaz echo. echo Something went wrong, trying to fix any problems if possible ... svn cleanup if %errorlevel% NEQ 0 ( cd .. echo. echo Cleanup Failed ! Please check or delete/move/rename the lazarus subdirectory ... goto Exit ) cd .. echo. echo Cleanup complete please run the script again. :Exit
Matthijs: In Linux I use a script (it is not very sophisticated, but does the trick) to download the latest SVN-version for Lazarus. Before I copy it here I'll explain my system. In my home-directory I have a special cvsroot-directory. In this directory I have a script for downloading Lazarus and other interesting projects. Lazarus is installed in /usr/share/lazarus. Before building a new version from SVN I make a backup, just in case the current svn is unstable. This is done by moving the /usr/share/lazarus directory to /usr/share/lazarus.bu To adapt the script to your system you only need to alter the constants defined at the start of the script. But without further ado, here is the script. But (big but) it is given without any guarantee. :) If things break you are on your own.
#!/bin/bash # before you can use this script you have to checkout all files # so first do a # svn checkout http://svn.freepascal.org/svn/lazarus/trunk lazarus # Define some directories BASEDIR=/usr/share/ LAZCVSDIR=~/cvsroot/lazarus/ LAZDIR=/usr/share/lazarus/ LAZBACKUP=/usr/share/lazarus.bu # Remove old backup if it exists date +"%T %tStart" if [ -d $LAZBACKUP ] then date +"%T %tRemoving old backup" rm $LAZBACKUP -fr else date +"%T %tNo backup to remove" fi date +"%T %tCreating copy of lazarus dir" cp -R $LAZDIR $LAZBACKUP # Getting stuff from svn date +"%T %tUpdate lazarus" svn update lazarus > ~/cvs_update.log # Copying cvs-files to our laz dir. date +"%T %tcopying files" cp -Rf $LAZCVSDIR $BASEDIR --reply=yes # Make and building of lazarus date +"%T %tmake lazarus" cd $LAZDIR make > /dev/null date +"%T %tmake the packages" make idepkg > /dev/null date +"%T %tFinished"