To @nthony: When i'm developping software, whatever the tool and whatever the language, i always have an USB key and at least one external hard disk connected to the computer. Every half-hour or hour, or even more frequently depending on what i'm doing, i manually copy everything to all of them: all sources files, all backup files, all .o, all exe file(s), all tests files, all config files, ...
Every day or week (depending) i copy everything to a second external hard disk, connected only the time necessary for this backup.
Every month i sent everything to another location.
Why so much precautions?
The CB saving algorithm is good, but a hard disk crash can occur at any time. Even two hard disks can crash at the same time. I had a teacher, who had 3 personnal disks, not connected to the same computer or to a computer, that crashed at the exact same time! On the 3 disks were the 3 copies of his doctor thesis, few days before the final date...
These precautions cost some times, but at each problem saves a lot!