Some of my projects are getting to the point where I could really do with some form of source code control system.
There seem to be lots of freebie versions out there ( 'Subversion' has been mentioned). Has anyone had any experience of using any of them with Arduino projects? Are there any that can be recommended? or any that should be avoided?
Do you want to use it in house only?
Or do you want to use it from the internet? (so you can access it from anywhere)
Do you want other people have access to it?
Should it include automatic backup?
How large is your source archive - 10's 100's 1000's files ++?
Single user, runs on my laptop, no internet or shared access required. Just want to backup my code reliably and to be able to regress to previous versions. Needs to be simple enough that it doesn't become a big issue to use it.
There are a lot of free source code control systems. I happen to use CVS for personal files, subversion (SVN) for GCC work, and I see a lot of other people use GIT. I use dreamhost.com as my web server, and one of the side benefits is it provides access to CVS and SVN checkins via ssh. So, all of my personal config files are stored in CVS, and whether I'm at home or work, I can do a CVS update to get current local copies. I haven't yet started putting my sketch files under CVS control, but I will shortly.
Even though you are dealing with the simple case of just a single user on a non-networked system, I would suggest at least, copying the source code control files to an alternate system. That way if the disk on your laptop gets fried, you still have your source code. I suggest also include a verbal description of the wiring in a comment block at the beginning.
Thanks for the ideas, I already use some basic powershell scripts to backup my work to various network drives, the only problem is when I introduce an error and then find I need to regress to code versions from two weeks ago - I find that I need to trawl through all my backups looking at the timestamps of individual files to try and build a complete project. It should be a lot easier if I can implement a proper source code system.