While we set up and tested we used sub version – SVN – to track changes. When you have a number of developers in different locations as we do, it’s fundamental that you use something to track who has done what, and what files have been updated. SVN is just that. We set up a development environment (dev env) and put all the source files there under SVN. Then each developer and project manager checks out the files, and after they have worked on them, updates the system with their changes.
As the team leader and project manager, I am not that technical, especially when it comes to using command line prompts. Fortunately we have a excellent and knowledgeable server administrator who took me through the basics. This post is by no means a tutorial on svn, but it’ll give you a grasp of the process.
My server admin set up the dev env, putting the files into SVN.
I SSH into the server, then change my user to root using the sudo su – command.
Files are checked out from the server using svn co – svn check out.
This downloads the files to your local machine, so you can make changes. Then when the files are saved, you need to add this back to your local svn repository – this is the bit I couldn’t get for ages…. you download from the server, make changes to your local files, then add the files back to your local respository using the command svn ci – ci standing for check in.
When you use svn ci, it brings in the text editor to make a note of the changes – this gives a log essentially. Exit and save the text editor, then it uploads the files to your local repository.
Finally, update the server with the changes by svn up – svn update, and it gives a revision number of you update. You may need to watch out for the permissions on the file – the update may not put the correct permissions, so watch out for the need for a chown – talk to your server guy about that.
It helps to have two command prompt windows open – I am on Mac OSX so I’m using Terminal. I have one window open for the server – checking out and checking in – and one window for the local checking in.
