Wednesday, 20 August 2014

To source, or not to source...

Source control is a must for any development team.  It allows a complete history of changes, so you can revert back to any given change set at any time, as well as providing a backup.  If you use a local server to store your repository, then as long as you have sufficient backup policies in force, you should be able to carry on as normal in the event of a disaster scenario.

It also allows collaboration with other developers on the same source code, and subsequent merging of files updated by 2 or more people.

For the lone developer (most indie devs out there, I imagine) source control might seem over the top.  However, I use it mainly as means of backing up my source code.  I used to use subversion and backup to a local server.   Which meant I always had to have my dev computer, and a server running at the same time.  This isn't a major issue, but my server was an older PC that could die at any moment. If I was broken into, it could be stolen, or dmaged in some other way and then I would be in trouble!

Enter the cloud based repository solutions!!

Cloud Source control

I then started to use Microsoft's TFS online as it was cloud based and allowed me to utilise TFS from within Visual studio, which was very handy.  A lot of my dev was .NET based so I use VS a lot.  For my unity projects though I needed a better alternative as Visual Studio is RAM intensive, at least on my PC.

I recently discovered Source Tree which is a GIT client, and this allows you to store your repositories in the cloud at sites such as Github and Bitbucket.

The beauty of SourceTree is that it has a very low footprint in terms of RAM compared to visual studio; it is a GIT client which means I can commit any changes in an instant ( all commits occur on the local repository, and then push to the cloud at my leisure.  My only concern with GIT is that what happens if you have  a number of commits that haven't been pushed to the cloud, and you PC or mac dies??!!!

In any event I always tend to commit and then push, as my source control is used mainly as a backup.  Therefore, cloud backup means I don't have to worry about loosing my PC  as I can easily be up and running again by buying a new computer.

So in conclusion, with all the free implementation of some kind of source control ( Bitbucket and TFS are free) there is no good reason not to source control you software, in my opinion!

Thanks for reading.

Lee A