Today, as part of my freelance work I have been required to use tortoise SVN, a brilliant subversion tool, presented as a windows shell extension. Here is a link detailing how to set up your own centralised SVN Repository server (something I plan to do in the near future). Before recently using svn, I knew what it was but wasnt aware of some of the amazing features it uses and benefits it has to developers. For those unaware, here are a few main reasons for using SVN.
- SVN is used to control files used and modified by lots of users (e.g. software development teams)
- SVN allows one user to lock a file so no-one else can touch it, avoiding conflicts
- Each user can modify and “commit” their changes to the file, with all sub versions of the file archived (nothing is lost or permanently over-written)
- SVN works great with large files, say you open a large flash file (100MB+) and change one line of text in there. When you “commit” your change back to the server, perhaps only 100kb of data is exchanged during the transaction (hence the whole 100MB+ file does not have to be re-uploaded) vastly increasing efficiency, especially over web connections.
- Each modification of a file can be logged and commented by the author and the file restored to any given point in time by the manager of the repository (not unlike the new “time machine” feature in Leopard).