Simple Subversion
20 Feb 2010I've overheard talk about Subversion and the similar systems for code revision history. Since I have never had a major project of my own or been part of a team coding one, I have not needed nor spent the time setting up subversion. I acknowledge its benefits - I wish I actually had a project worthy of needing a subversion system. Tracking changes, creating branches, and working in parallel with another developer all peak my interests.
Today I found myself in a situation that needed revision history. Recently, I have been doing a lot of project management work specifically with the Merlin program. After a few days working with the software, you realize how easy it is to make cascading and drastic changes with one click. String a few of these clicks together and you are trapped in a complex labyrinth with no way out in sight. That is when I felt there should be a revision system tracking changes on the project files for Merlin. Then if I cause any damage that I can't get out of, I can roll the file back to a previous version and the clouds lift!
Makes sense right? So off I run to research Subversion and other revision systems. But wait, these are only a few files. I can't compare diff's of the files because it is not code - the projects are actually saved as XML but that is just not fun to read. Do I really need to go through the trouble of setting up a repository and then using all the commands on the terminal? All I need is to track changes in a file every time it is saved. I thought, at first, subversion would be good for this. But, on second thought, it requires too much overhead to actually be useful for this task.
I also thought about using Dropbox to accomplish my goal. Dropbox is an amazing, behind-the-scenes program that I already use to backup all my documents. It also keeps all of the computers I use in sync with any files I need - I no longer carry a flash drive because of it. But the project files really need to stay local and not travel around the internet. Also, they should not be tied to my account and username. Local is key here.
As it stands, I have not found a solution. I know there must be some way to accomplish a simple task of tracking and backing up changes with an equally simple solution that works behind the scenes. Any suggestions or techniques someone has used before?