WARNING: The following article is written from a very high level point of view with assumptions made in areas like product knowledge and computer literacy.
After working on many coding projects I had come to realise there is one tool that is indispensable for any coder... what I'm talking about is
version control. You come to realise that after making so many changes to your code you need the ability to track these changes and in case of emergencies revert to previous working versions of a particular file. I used this same concept for work and implemented my own version control.
Subversion
I installed a local copy of
Subversion on my work laptop and with the help of TortoiseSVN I started my own local SVN repository. Because I'm super nice I'll even include lifehacker's instructions on how to setup your Subversion.
Setting up your Subversion server
- Download and install Subversion 1.3.2 (the svn-1.3.2-setup.exe download). Again, just accept all of the defaults in the setup, making sure that "Install and configure Subversion modules..." is checked.
- Download and install TortoiseSVN (TortoiseSVN-1.3.5.6804-svn-1.3.2.msi), an attractive Subversion client for Windows that makes dealing with Subversion repositories a breeze via right-click.
NOTE: With the above download links please be aware that Subversion is now up to version 1.60 and TortoiseSVN is up to version 1.66. Just do a little browsing to find the latest versions.
Create your first repository
The last thing we're going to do this week is create our repository. Go to your C:\ drive, right-click the svn folder and select TortoiseSVN -> Create repository here... command. If all goes well, TortoiseSVN should ask you what type of repository you'd like to create. Select Native filesystem (FSFS) and click OK. You will get a message telling you that "The Repository was successfully created." Congrats!
Finally, let's import the directory of files that you want to keep under version control into your newly-minted repository. Right-click on your to-be-controlled folder and select TortoiseSVN -> Import.... You need to give TortoiseSVN the directory of your repository, so browse for C:\svn. Click OK and all of the files under your chosen directory will be imported into your Subversion repository at C:\svn.
... you can verify that everything worked by right-clicking on a new folder and checking out your files from the repository (right-click -> SVN Checkout...). Just direct TortoiseSVN to the directory of your Subversion repository.
via lifehacker.comSo after the setup all you have to do is start using the folder you have used for checkout as your main work folder. Organise it as you wish with folders and files. Whenever you feel like "saving" your progress Right Click the main folder > SVN Commit. You will be prompted with a text area where you can write your comments on the files you are about to commit and below that a box with all the new/changed files. Committing this will transfer all the files/changes to the repository for storage and visioning.
Dropbox
Now we get to the part about Dropbox. Again instead of explaining everything about Dropbox I'll let my friends at lifehacker help out.
Windows/Mac only: Freeware application and web service Dropbox instantaneously backs up and syncs your files over the internet and to any computer. After you install the application, it will create a Dropbox folder on your hard drive. Any file you put inside that folder will automatically be synced and monitored for changes, and each time a change is saved, it backs up and syncs the file again. Even better, Dropbox does revision history, so if you accidentally saved a file and wanted to revert to an old version or deleted a file, Dropbox can recover any previous version. See the video above for a full demonstration. Any file that's synced with Dropbox is available on any computer you sync it to or through the Dropbox web interface. During the beta, Dropbox is limited to 2GB of storage space and syncing. The software and service will remain free of charge, but if you need more than the 2GB, premium accounts will be available.
via lifehacker.comSo now that we have Dropbox covered we can continue. What I realised not too long ago was when you add files to your Subversion repository, the files don't just get copied over and stored, they get compressed. Therefore using up much much less space than they normally would. As an example, my Subversion repository is approximately 950MB but my work folder is 7.32GB.
This brings me nicely to my next point. Instead of making Dropbox backup my work folder I let it backup my Subversion repository. It's way smaller and has every version of every file/folder I have ever put in and/or changed. It's beautiful, it works and it's the perfect way to manage/backup your work files.
NOTE: Obviously this concept has many uses and can be implemented for a range of other management/backup purposes other than work.If you have any questions please don't hesitate to ask me. If you need help with any of the programs I mentioned in this post please let me know.
Thanks
Edit (10:23am 19/11/2009): Changed the work folder size from "over 5GB" to exactly 7.32GB after checking its actual size.