VCS/SCM for the Student or Mobile Hacker
If you're a student (like me), and you work a lot on your computer (like me) then you probably have a lot of files (like me). I'm a Computer Science, Mathematics & Marine Science triple major so I spend a lot of my time programming, doing problem sets, and writing lab reports. Now the core of this issue arises in that I have a workstation in the research lab I work in, my laptop, and a desktop that I use in my dorm room. I like to be able to access all my important assignment files from anywhere that I might be (my room, on the go, in the lab). The problem is, I hate flash drives, I always lose them, and I find them in general an annoyance. What do I do?
I have been using an SCM/VCS for my code for a while now; at least for a couple years since I have started coding a lot. Now I play no favorites on a specific SCM/VCS but my preferences are SVN for server/client models and bzr for DVCS. I recently picked up LaTeX over the summer since I've been writing reports and papers that have a lot of mathematical formulae in them. Now you may wonder why I need access to these documents/files on anywhere besides my laptop. Well the issue is I don't particularly like working from a laptop because its terribly uncomfortable to me. Its an inconvenience I suffer during my day-to-day travels, but when I have the opportunity I like to use a desktop at work or in my dorm. Note: There's been plenty of coverage on this topic over at CodingHorror I believe but basically laptops are not designed in a manner that is good for ones' posture.
Since I'm using plain text files for everything now that I don't need to use a proprietary format of sorts, it makes sense to use an SCM/VCS. Not only does this allow me to share the files between the three computers, it also provides me with a history of changes to files that I can go back to if I've realized that I've made a mistake in some document or code file.
For sharing between my computers, I chose to use bzr. Bzr is the pet project of Canonical Ltd., the same company backing Ubuntu. Its not a perfect system, but it was actually one I ended up using by accident. I originally was looking for a DVCS to use for a project I am working on with a friend. We decided on Git initially but seemed to have a lot of problems with it on the server we were using. We then scrapped Git for Mercurial because it was the next one I could remember hearing about. This again was a failed trial, and we came upon bzr. Now there are a lot of benchmarks claiming a lot of bad things about all of these different DVCS's. Honestly speaking, I use bazaar because well, it *Just Works(tm)*. It worked the first time I used it, and it has worked since.
So back to my files, I just make the directory, give it a little "bzr add action and go on my way. When I create a new file, I "bzr add " it and go on my merry way. When I'm done with that session on the specific computer, I do some action, say what I changed, and then go on my merry way to the next computer after my class. When I get to that new computer I just do "bzr update" in the repo, and *poof* the files are there for me to play with.I think this is a great system for anyone who has a lot of places they need to use a set of files but don't want to keep up with a flash drive.
Syndicated 2007-09-19 15:15:00 (Updated 2007-09-19 18:16:23) from zbrown