October 2011 Archives

Subversion - it 's ruthless and mean and I kind of like it!


I'm not really sure what I think of using source control as a tool for programming. Having worked a bit with source control software I've become undecided if I really like it or not. Source control is nice to actually have the ability to go back to an earlier version after you've managed to completely gum up the working version. It can also be a pain when two people are working on the same files and haven't committed their versions for a while. Perhaps it's just subversion that can cause headaches. I have not used any other source control software so I am unfamiliar with the workings of them and am really unable to draw a complete conclusion on all source control software.
One of my earliest experiences with subversion was when I had not properly submitted a lab assignment that was due. I thought I had turned it in, but turns out I hadn't. Having moved on to a later lab I somehow completely erased what I had done from the previous lab ensuring that I would have to redo that lab. It was some combination of subversion updates and reverts that had lost what I had done with no way to recover it (on a side note the second time I did the lab, it decided it didn't want to compile properly and I still managed to get a zero, go me).
I find that I'm not using subversion exactly how it should be used. Uploading to subversion should have some kind of non-broken source code committed although it seems my partner and I kind of use it in a way of "we'll get back to that" instead of actually just keeping a local copy and then committing it when it's not broken. This is probably going to lead to complications later in programming, especially if we keep adding more files. We might get to a point where we never know what files are working properly and which ones aren't.
I feel I am being a bit negative on subversion which I find odd because I actually do like using it. I think it will be a strong tool when I am fully comfortable with using it in which it was intended. I like that I can branch out into different directions when writing a program and then be able to go back to an earlier version if it turns out I'm some kind of idiot. I also like that I am able to keep a log of what I have done to the program step by step for each version. Granted comments in a program do that, but they don't provide a timeline like subversion does. Another good feature that I just haven't gotten familiar with yet is merging. It's nice to have multiple people work on different parts of the same files and be able to merge them together. The only thing I'm finding difficult is when we both happen to change the same lines and have conflicts but I think that is just something I have to do on a regular basis to just get comfortable with it.

About this Archive

This page is an archive of entries from October 2011 listed from newest to oldest.

September 2011 is the previous archive.

November 2011 is the next archive.

Find recent content on the main index or look in the archives to find all content.