I would just like to draw your attention to monotone, a very interesting version control system. Linus Torvalds already noted it a few months ago.
It is a fully distributed system, so you can work and commit stuff offline. Without hacks, just by design.
You can have multiple branches in the same db, and just work on the ones you want in different directory trees.
It handles branch merges cleanly and can make the resulting graph nicely visible. Excellent!
monotone works with certificates (public key encryption); this may sound like overkill, but the advantages are clear:
- You can set up QA procedures that are enforced by monotone.
- You can require approval for a committed patch from a specific person before merging into the main branch.
- You can track the origin of code accurately – this can be important for preventing or resolving IP (copyright) issues!
Now, the system is fairly new and thus requires some maturing, but it sure seems to be on the right track. How does software mature? Unlike wine, not by sitting on a shelf…. so please, do help this excellent project by using it for your own development work, and also build more handy tools around it. That will help build critical mass.