Aegis is a transaction-based software configuration management system. It provides a framework within which a team of developers may work on many changes to a program independently, and Aegis coordinates integrating these changes back into the master source of the program, with as little disruption as possible. Some key features: * All operations on the repository are based on change sets. * True configurations. All changes are reproducible snapshots. Every change set has a unique configuration identifier. * Ability to rename files without losing their history. * Binary files are supported. * File meta-data are versioned. Aegis versions permissions also. * Commits are truly atomic. No part of a commit takes effect until the entire commit has succeeded. Log messages are attached to the change set, not stored redundantly in each file. * Access controls on lines of development (branches). Creating a branch in Aegis can be accomplished with a single, fast command. * Repository synchronization, geographically distributed development. * Optimal performance for all users, local or remote (no difference). * Disconnected commits. * Peer-to-peer architecture. Work may flow in without involving a master site. * Costs are proportional to change size, not data size.