Aegis 3.17

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.
  • Aegis supports large teams and large projects.
  • Each project is a separate repository, with separately configurable policies.
  • Aegis supports change sets.
  • 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.
  • Aegis is designed around incremental development. It records these increments as file change sets, and can reproduce any historical increment.
  • Aegis is designed for repository security (availability, integrity and confidentiality).
  • Aegis supports distributed repositories.
  • Aegis supports both push and pull distribution models, and many distribution topologies. Aegis' normal development process is used to validate received transactions before accepting them.
  • Aegis supports multiple repositories.
  • Aegis supports multiple lines of development.
  • Aegis supports long transactions, also known as ``branches'' or ``lines of development''. This allows appropriately created changes to be treated as if they were projects, and thus to have changes made to them. This allows a hierarchy of changes within changes, to any desired depth.
  • Aegis supports multiple simultaneous active branches.
  • Aegis supports branching to any depth.
  • Aegis is mature software - it was first released in 1991.
  • The error messages of Aegis have been internationalized. This means that error messages can be in your native language, if a translation has been provided. (So far, only English is provided. Translations welcome.)
  • Aegis now has users all around the world.
  • Aegis is actively being maintained and enhanced.
  • Aegis is easy to use. Is is big, it does have a lot of functionality, but the essential process can be learned in less than a day.
  • The Aegis deveopment model is very versatile. It is suitable for a huge range of projects and teams.
  • There is a script-based reporting facility, allowing many custom reports to be generated from the Aegis database. There are also many report scripts distributed with Aegis.
  • There is an intranet Web interface, which is installed automatically when the install script discovers a web server. This interface allows browsing of much of the Aegis meta-data, of all publicly accessible projects.
  • Aegis runs on almost any flavor of UNIX. Self configuring using a script generated by GNU Autoconf.

See the README file for a description of the new features and bug-fixes in this release. This is also in the Aegis Reference Manual, along with the build and installation instructions, and all of the manual pages.

Year 2000 Status

Aegis does not suffer from Year 2000 problems.

Files for Download

File NameDescription
aegis-3.17.README The README file from the tar distribution.
aegis-3.17.lsm Brief description in LSM format.
aegis-3.17.spec RedHat package manager (RPM) specification file, from the tar distribution.
aegis-3.17.tar.gz The complete source.
aegis-3.17.ae The complete source, in aedist format. This is used by Aegis developers and maintainers.
aegis-3.17.faq Frequently asked questions, with answers.
aegis-3.17.rm.ps.gz Aegis Reference Manual in PostScript format.
aegis-3.17.ug.ps.gz Aegis User Guide in PostScript format.

Aegis is also available from the Linux archives in the devel/vc directory.

There are some other packages you should get if and install you haven't already...

gettext GNU Gettext internationalization library. (If you have GNU Libc 2.0 or later, you don't need this.)
rx GNU Regular eXpression library, if your system does not already have the regcomp and regexec library calls.
zlib The zlib compression library (implements the GNU Zip compression algorithm). Used to compress change sets for distributiuon, and to optionally compress Aegis' database.

Template Projects

So that you can begin to use Aegis rapidly, there are some example projects available.
FilenameDescription
example- make-rcs This template project uses GNU Make for its build tool, and RCS as its history tool.
example-cook-fhist This template project uses Cook for its build tool, and FHist as its history tool. It scales better than the Make-RCS example.
These template projects provided a simple but flexible skeleton around which you can build many different projects. Each project links you to a page of instructions for how to download the change set and apply it.

Aegis and Windows NT

Aegis depends on the underlying security provided by the operating system (rather than re-invent yet another security mechanism). However, in order to do this, Aegis uses the POSIX seteuid system call, which has no direct equivalent on Windows NT. This makes porting difficult. Single-user ports are possible (e.g. using Cygwin), but are not usually what folks want.

Compounding this is the fact that many sites want to develop their software for both Unix and Windows NT simultaneously. This means that the security of the repository needs to be guaranteed to be handled in the same way by both operating systems, otherwise one can act as a ``back door'' into the repository. Many sites do not have the same users and permissions (sourced from the same network register of users) on both Unix and Windows NT, making the mapping almost impossible even if the security models did actually correspond.

Most sites using Aegis and Windows NT together do so by running Aegis on the Unix systems, but building and testing on the NT systems. The work areas and repository are accessed via Samba or NFS.


Aegis is written and owned by Peter Miller and is freely distributable under the terms and conditions of the GNU GPL.

There is more Software by Peter Miller at his home page.


This page has been accessed approximately times since 23-Jun-99.