Oooh. It is also my pain. I would really like to hear the recommendations.
Firat
Hi Gabe,
I've never used a version control system, however I too have generated a lot of files. My system is kind of based on the idea that a project is done or it's not.
I keep a Work in Progress folder on my computer. Whatever I'm working on is located within this folder for as long as it takes to complete the project or reach a milestone. Once the project has been completed based on a figure of merit(Works, doesn't work, buggy, unstable stable) then I move the project folder to another folder where I keep my completed work and documents. I keep things organized by catergories Research, Business, Software, etc.
Under the broad categories I start to further organize my data. For example under Software, I have a folder called PIC and I store all of my PIC projects (completed under this folder). Every project in the PIC projects folder has it's own folder, if I have a new revision I will store it in the particular projects folder and date it.
One inconvenience of this method is that you end up creating ALOT of folders, however it's doesn't bug me too much and I know where everything is.
To give an example, let's say I've been working on revision 3 of my PIC LED driver. I now feel that this design is working satisfactorily so I move the folder from My Work in Progress folder to my Software->PIC PROJECTS-> PIC LED Driver folder. Now within the PIC LED DRIVER folder I create a new version called PICLEDRIVER3_06162010 and I move all of my files concerning the project to this folder. When I say all of my files I mean ALL of them spreadsheets, PDFs, code, etc. Anything related to PIC LED Driver number 3 goes in that folder.
Since it's no longer in my Work in Progress folder, I know at the very least that it is a stable mature design.
This is how I keep my projects organized, I'm sure there are far better ways to do it but this is what works for me.
Hope this helps.
Regards,
Jorge Garcia
Howdy - I really can't recommend using version control system enough, even if you're the only one that is working on a project. I used to do a lot of copying files and directories with timestamps appended to the name. However, it gets really difficult to revert only certain portions of particular files. The genius of version control is that it tracks changes line-by-line (for text files). Even for binary files, you'll have a record of when it changed, why & the ability to revert to a point in time.
Though not as much en vogue these, Subversion is an open source version control system that has an excellent integration to Windows explorer via:
TortoiseSVN
You can use it to create a repository for revisions on your hard disk and then interact with it to check-outs files and then committ the changes.
I'm a Linux desktop user so I normally just use the command-line Subversion tools, but I must admit TortoiseSVN integrated with Windows is pretty slick.
(I mentioned Subversion is not as popular these days because so-called distributated version control systems have been developed that make it much simpiler for groups to work together. Git & Mecurial are popular Open Source systems of this type. However, I still recommend Subversion for personal or small group use as TortoiseSVN is such a great interface for Windows users.)
Drew
Hi,
I have also used TortoiseSVN and can warmly recommend it if you have issues like this.
Every time you want a copy to be saved to the svn you can commit it with comments, this way you will also keep track of what you have done and can compare earlier versions to the current one etc.
Elias