There are concurrent version systems (CVS), one of the more popular is Subversion. It makes it really easy to commit and rollback release versions. I also use Eclipse, it is an open source IDE. Eclipse has preferences that allow you to set local history tracking. It also supports CVS and Subversion.