September 28, 2005
[Daniel] Subversion: Day 1
I had my first experience with Subversion today. Subversion is a prominent, open-source source control management suite, which means it's software dedicated to keeping track of changes to just about any set of files. It maintains a complete history of all changes from the beginning of the file to current.The bulk of the Subversion usage is done by programmers, who are typically in the position of working on the same set of files with other programmers at the same time, causing what's known as concurrency issues. This means Bob and Joe both have the same file open. Bob makes a change then saves. Joe, who still has the original unchanged file open, makes a change and saves, overwriting Bob's changes completely. Subversion handles things so that when Bob saves, it tracks his changes to the original document. Then when Joe tries to save, Subversion will either merge their changes if they don't conflict or warn Joe and allow him to figure it out without destroying anything.
This is great for me in two different ways. One, it lets me keep track of all the changes I ever make to code (especially if I screw something up). Two, it will eventually enable me to work with the guys at work with less hassle as well as with Tony, who happens to be a great programmer and quite far away. Makes the whole "Hey, are you editing ____?" issue a little difficult. =D.
And for just day one with it, I'm already doing remarkably well, with two different sets of code already placed in version control and easily making changes/additions/deletions. Easy, gentle learning curves are nice.
Best part: it was originally designed under Linux but has been ported to Mac OS X and Windows. Plus there are lots of nice GUI tools out there designed to handle it easily (even though I think I like the command line better). Very cool.
Permalink
|
Comments (0)

