.\" .\" aegis - project change supervisor .\" Copyright (C) 1997-2001 Peter Miller; .\" All rights reserved. .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program; if not, write to the Free Software .\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. .\" .\" MANIFEST: input for archive/aegis.html .\" .ad l .hy 0 .so version.so Aegis \*(v)

Aegis \*(v)

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.

[ Download | Documentation | Template Projects | Mailing List ]
[ Year 2000 | Windows NT | Reference Sites ]

.br .br .br .br .br .br .br .br .br .br .br .br .br .br .br
  • 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 Dutch and English are provided. More translations are welcome.)
  • Aegis now has users all around the world.
  • Aegis is actively being maintained and enhanced.
  • Aegis is easy to use. It is big, it does have a lot of functionality, but the essential process can be learned in less than a day.
  • The Aegis development 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.
.br
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. .br

Files for Download

.br
File NameDescription
aegis-\*(v).README The README file from the tar distribution.
aegis-\*(v).lsm Brief description in .nf LSM .fi format.
aegis-\*(v).spec RedHat package manager (RPM) specification file, from the tar distribution.
aegis-\*(v).tar.gz The complete source.
aegis-\*(v).ae The complete source, in aedist format. This is used by Aegis developers and maintainers.
aegis-\*(v).faq Frequently asked questions, with answers.
aegis-\*(v)-1.i386.rpm Pre-built Linux executables.
.br

Second Sources

.br

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

.br .br .br .br
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.
.br

Documentation

There is a variety of documentation available.
User Guide
The Aegis User Guide contains information about how Aegis works, and the model of software development that Aegis embodies. It contains a worked example, to lead new users through some example changes. It contains information about configuring the various aspects of using Aegis.
Reference Manual
The Aegis Reference Manual contains all of the installation instructions, all of the man pages, and a permuted index.
HOWTO
The Aegis HOWTO contains ``how to'' perform a number of tasks in Aegis.
Aegis, A Project Change Supervisor
This is the original conference paper about Aegis. It gives a brief outline of the process and the benefits.
Aegis Is Only For Software, Isn't It?
This paper talks about how to use Aegis for managing DNS and for managing web pages.
Recursive Make Considered Harmful
This paper talks about the build process for large projects, and some of the pitfalls when using Make.
CVS Transition Guide
The CVS Transition Guide contains information of use to CVS users who are converting their project to use Aegis, or who are thinking of doing do.

All of the documents are in Adobe Acrobat (pdf) format. You can obtain free pdf readers, such as

.br

Template Projects

So that you can begin to use Aegis rapidly, there are some example projects available.
.br .br .br
FilenameDescription
.\" make sure there is no newline inserted after any of the hyphens in .\" the following! .br example-make-rcs This template project uses GNU Make for its build tool, and RCS as its history tool.
.\" make sure there is no newline inserted after any of the hyphens in .\" the following! .br 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. .br

Mailing List

A mailing list has been created so that users of Aegis may exchange ideas about how to use Aegis. Discussion may include, but is not limited to: bugs, enhancements, and applications. The list is not moderated.

Posting

The address of the mailing list is aegis-users@canb.auug.org.au

Please do not attempt to subscribe by sending email to this address. It is for content only.

Subscribe

To subscribe to this mailing list, send an email message to majordomo@canb.auug.org.au with a message body containing the single line

subscribe aegis-users
The subscribe is moderated, and there are more options, too. See the README file for details.

Archive

The mailing list is archived at eGroups. The URL is .br http://www.egroups.com/list/aegis-users/ and then follow the links.

The archive starts from July 1999. Sorry, previous postings are not available.

Unsubscribe

To unsubscribe from this mailing list, send an email message to majordomo@canb.auug.org.au with a message body containing the single line

unsubscribe aegis-users
The unsubscribe is moderated, and there are more options, too. See the .br README file for details.
You can't fetch files through the mailing list, so please don't try. Use the links on this page, instead. .br

Year 2000 Status

Aegis does not suffer from Year 2000 problems. .br

Reference Sites

If you are a prospective Aegis user, and would like to know of other Aegis users, there are some reference sites who are happy to talk to you. .br

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. .br


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

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


This page has been accessed approximately .nf .fi times since .ds MO1 Jan .ds MO2 Feb .ds MO3 Mar .ds MO4 Apr .ds MO5 May .ds MO6 Jun .ds MO7 Jul .ds MO8 Aug .ds MO9 Sep .ds MO10 Oct .ds MO11 Nov .ds MO12 Dec .nr y4 \n[yr]+1900 \n[dy]-\*[MO\n[mo]]-\n[y4].