Subversion as a Rapid Development Tool
I have recently started using Subversion again after a long break. In the past I have been developing web applications as a sole developer, and when I was working in a team I had been introduced to Subversion (SVN).
What is Subversion (SVN)?
Subversion is a versioning system designed with groups of developers in mind. CVS (Concurrent Versioning System) was a very popular system in the past, but SVN has really taken off with a huge following in the past few years. I’m most certainly no SVN expert so my view of SVN will likely be helpful for anyone considering exploring it’s use.
Why would I use SVN?
Frankly you’d be mad not to! SVN has a number of benefits for project management:
- Developers don’t need to be in the same office
- Team development time is reduced
- Built-in conflict management allowing fast resolution of conflicts (these happen when two people have edited the same file)
- Works over a number of protocols including SSH
- Ties in with tracking software such as Trac
- Revisions, if you stuff up, you can always revert! It like simple backup
Our experience with SVN
As I mentioned I’m certainly no expert, so my view is largely from my own experiences. I’ve used subversion on a collaborative project in the past, and haven’t look at it until a few weeks back when I knew I would need two people working on a project at the same time.
Now there are a number of methods for teams to work on a project, the most common way is team programming where two developers share a computer (or have their own and one codes while the other tests etc) both reading and contributing to the code picking up on mistakes. Effectively you get a super programmer, with some speed increase, but certainly not double the work output. I would rate this method as a poor way to collaborate, but is a great way to train new developers in your methods.
SVN to the rescue!
What SVN lets you do is allow one or more developers (usually 2+) work on a project at the same time, at their own workstation developing separate parts at the same time. Effectively you get two persons worth of work, and faster development time (now, this means you’re still taking the same time as it normally would, but the timeline is shorter because you have 2 people hours per each actual hour).
Where will SVN run?
SVN will on most unixes. At present because we are working in the same physical location we have the SVN on a master desktop, and run the other workstations (and our ‘working’ copy) on each machine. As mentioned SVN will run over SSH, so in the no so distant future we are looking to setup a repository for our own use on one of our hosted servers, this will mean we can assign any developer access to our SVN for their project, and they can work from anywhere.
Office Politics
Being a Gen-Yer I don’t fit in the usual mold where you have to have face time in the office to be seen to be working (plus I know how untrue that can be in many cases!). SVN opens the doors to your virtual office allowing people to work wherever is most appropriate for them. SVN allows you to ‘check up’ on productivity as well with something like Trac or Versions App (currently beta, way cool!).
Setting up SVN
I’m not going to take credit for this one:
This guy is an absolute legend, and I can tell you all going well it will take less than 4 minutes to setup!
This guide will work on any OS X Leopard workstation or server as SVN is present in the backend. You may need to start up the svnserver manually after a reboot though. It also apt-get’s quite easily on Debian, but getting around SSH+SVN will take a couple of goes (hint: keep your username and passwords the same to make life easier!)
Life as a Developer
Go on, make your development life easy! SVN will save you a lot of time, will help with bug tracking, project management and your development cycle, plus if you stuff something up really good, you can always revert! As we play with SVN more and discover a few trick or hints I’ll be sure to post them as SVN really does make a developers life so much easier!
If you would like your own SVN server setup we can do so for you remotely, just contact us a Totali.
About this entry
Title: Subversion as a Rapid Development Tool
- Published:
- 13.11
- Category:
- Development, Servers, Work, internet
No comments
Jump to comment form | comments rss [?] | trackback uri [?]