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.

The win in using Aegis is that there are O(n) interactions between
developers and the baseline.  Contrast this with a master source
which is being edited directly by the developers - there are O(n!)
interactions between developers - this makes adding "just one more"
developer a potential disaster.

Aegis allows concurrent editing, and a resolution mechanism just before the
change must be integrated, meaning fewer delays for J.A.Programmer.

Aegis also has strong support for geographically distributed
development.  It supports both push and pull models, and many
distribution topologies.  Aegis' normal development process is used
to validate received change sets before committing them.

Homepage:
https://aegis.sourceforge.net/
