|
It's Winter up here in Seattle and we're in the middle of a cold snap. I've never seen it snow this much in my whole life. As nice as it is to miss school for three days and essentially start Winter Break a week early, it has had some serious consequences for our practice with the shiny new 2009 control system. Nonetheless, we must press on with our efforts in software and development of our prototype drive base (surprises to come!). Since we all found ourselves with some unpredicted free time, I taook the opportunity to setup a version control system for our team. For those who don't know, a version control system (VCS) is an application that keeps track of changes we make to our codebase. Every time we make a change to the code, we will merge it into the existing codebase repository using the software and the software will keep track of version numbers and significant changes. Additionally, the VCS software will facilitate our wonderfully massive programming team. Each member will be able to commit their changes to the central code repository on our webserver and then all the others will be able to log into our server and update the code on their computers to the latest version. Essentially, the VCS software will make our lives alot easier on programming subgroup. At any rate, I spent yesterday trying to setup a Subversion VCS repository on our website. Subversion is a central version control system (read about it in the link above), written in C, in which client applications on our developers' machines connect to our webserver's central repository and Subversion server. What this meant for me was that I would need to upload the Subversion VCS source code to our website and then compile it via SSH using GCC (again, Wikipedia these terms if they're confusing ). I found several very useful tutorials online for how to do this, so I felt very confident that I could complete this task. I was wrong. Unfortunately, we host our website on GoDaddy.com's shared linux hosting and they don't allow users access to GCC over an SSH tunnel for security reasons. Oh well. Back to the drawing board. However, I was not to be stopped from setting up a VCS for our programming team. Google Code looked like a good option and so did Sourceforge.net, but both would require that we release our code under an Open Source license like the GNU/GPL. The GNU/GPL is great and all, but some of the libraries and source code our team works with is proprietary and cannot be released under such a license. Therefore, I would have to find another alternative. Fortunately, I stumbled across Bazaar (abbreviated bzr) VCS. Bazaar is written in Python, a scripted programming language (Wiki it), and thus it is suitable for our team's needs because it can run on any operating system with ease and without rebuilding the software. What makes Bazaar diferent from Subversion and more likely to suit our situation is that Bazaar doesn't operate under the same server-client model. Rather, Bazaar uses a distributed model in which there are only clients that all submit to a repository made up only of text files. Therefore, we will be using Bazaar for our version control system. In the coming days I will post to our website about how to use our version control system. Users will merge code to the central repository via SFTP and HTTP access to the repository will be secured. We will finally have the secure system NRG has always needed. In 2009 we will release the full power of 10 highly skilled software developers. Expect great things.
|