Aegis is a free (both speech and beer) transaction-based software configuration management system. From http://aegis.sourceforge.net/ : Aegis enforces a development process which requires that change sets `work' before they may be integrated into the project baseline. Works includes requiring that change sets build successfully, and (optionally) that they include and pass tests. It also ensures that code reviews have been performed. Other features include support for ChangeSets, CheckDiffsBeforeCommit, ReviewBeforeCheckin and SingleReleasePoint. ChangeSets in brief: A ConcurrentVersionsSystem repository is a set of histories of files, but an Aegis repository is the history of a set of files, which is a more useful thing.