Not free, but a very nice (!) System - "PlasticSCM": http://www.plasticscm.com/demos/plastic28/index.html
Works with branches that are great for parallel development ("branch to task template"). For each task (ticket, error, problem, whatever) you make a child branch. Plastic will update your "workspace" on the disk, so all files have the correct version. You can make as many changes and checks as you want, because you are working in your own branch, so no one will worry anymore if you check something that does not compile! It works LOVELY!
If you switch to another branch (because you have to make a quick fix), all changes are “pending” on the server, the current workspace is automatically updated to this other branch, you can make some changes + checkin, switch to your branch, over which you worked, and all files are deleted again, so that you can continue to work where you were before. Very nice.
He has a very cool GUI client, and it works on MacOS + Linux.
André
source share