---
name: "aegis"
section: "1"
platform: "linux"
package: "aegis"
version: "4.24.3-3"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/aegis"
---

# aegis(1)

project change supervisor

## NAME

aegis - project change supervisor

## SYNOPSIS

**aegis** *function* \[ *option*... \]\
 **aegis** **-Help**

## DESCRIPTION

The *aegis* program is a transaction base software configuration management system. It is used to supervise the development and integration of changes into projects.

## FUNCTIONS

The following functions are available:

- **-Build**

  The *aegis -Build* command is used to build a project. See [*aeb*(1)](/aeb/1.md) for more information.

- **-Change\_Attributes**

  The *aegis -Change\_Attributes* command is used to modify the attributes of a change. See [*aeca*(1)](/aeca/1.md) for more information.

- **-Change\_Directory**

  The *aegis -Change\_Directory* command is used to change directory. See [*aecd*(1)](/aecd/1.md) for more information.

- **-Change\_Owner**

  The *aegis -Change\_Owner* command is used to facilitate reassignment of the developer of a change in the *being developed* state. See [*aechown*(1)](/aechown/1.md) for more information.

- **-CLone**

  The *aegis -CLone* command is used to exactly replicate a change, usually on another branch. See [*aeclone*(1)](/aeclone/1.md) for more information.

- **-CoPy\_file**

  The *aegis -CoPy\_file* command is used to copy a file into a change. See [*aecp*(1)](/aecp/1.md) for more information.

- **-CoPy\_file\_Undo**

  The *aegis -Copy\_File\_Undo* command is used to remove a copy of a file from a change. See [*aecpu*(1)](/aecpu/1.md) for more information.

- **-DELta\_NAme**

  The *aegis -DELta\_NAme* command is used to add a symbolic name to a project delta. See [*aedn*(1)](/aedn/1.md) for more information.

- **-Develop\_Begin**

  The *aegis -Develop\_Begin* command is used to begin development of a change. See [*aedb*(1)](/aedb/1.md) for more information.

- **-Develop\_Begin\_Undo**

  The *aegis -Develop\_Begin\_Undo* command is used to cease development of a change. See [*aedbu*(1)](/aedbu/1.md) for more information.

- **-Develop\_End**

  The *aegis -Develop\_End* command is used to complete development of a change. See [*aede*(1)](/aede/1.md) for more information.

- **-Develop\_End\_Undo**

  The *aegis -Develop\_End\_Undo* command is used to recall a change for further development. See [*aedeu*(1)](/aedeu/1.md) for more information.

- **-DIFFerence**

  The *aegis -DIFFerence* command is used to find differences between development directory and baseline. See [*aed*(1)](/aed/1.md) for more information.

- **-Help**

  This option may be used to obtain more information about how to use the *aegis* program.

- **-Integrate\_Begin**

  The *aegis -Integrate\_Begin* command is used to begin integrating a change. See [*aeib*(1)](/aeib/1.md) for more information.

- **-Integrate\_Begin\_Undo**

  The *aegis -Integrate\_Begin\_Undo* command is used to cease integrating a change. See [*aeibu*(1)](/aeibu/1.md) for more information.

- **-Integrate\_Fail**

  The *aegis -Integrate\_Fail* command is used to fail a change integration. See [*aeifail*(1)](/aeifail/1.md) for more information.

- **-Integrate\_Pass**

  The *aegis -Integrate\_PASS* command is used to pass a change integration. See [*aeipass*(1)](/aeipass/1.md) for more information.

- **-List**

  The *aegis -List* command is used to list interesting things. See [*ael*(1)](/ael/1.md) for more information.

- **-MoVe\_file**

  The *aegis -MoVe\_file* command is used to change the name of a file as part of a change. See [*aemv*(1)](/aemv/1.md) for more information.

- **-MoVe\_file\_Undo**

  The *aegis -MoVe\_file\_Undo* command is used to undo a change to the name of a file as part of a change. See [*aemvu*(1)](/aemvu/1.md) for more information.

- **-New\_Administrator**

  The *aegis -New\_Administrator* command is used to add new administrators to a project. See [*aena*(1)](/aena/1.md) for more information.

- **-New\_BRanch**

  The *aegis -New\_BRanch* command is used to add a new branch to a project. See [*aenbr*(1)](/aenbr/1.md) for more information.

- **-New\_BRanch\_Undo**

  The *aegis -New\_BRanch\_Undo* command is used to remove a new branch from a project. See [*aenbru*(1)](/aenbru/1.md) for more information.

- **-New\_Change**

  The *aegis -New\_Change* command is used to add a new change to a project. See [*aenc*(1)](/aenc/1.md) for more information.

- **-New\_Change\_Undo**

  The *aegis -New\_Change\_Undo* command is used to remove a new change from a project. See [*aencu*(1)](/aencu/1.md) for more information.

- **-New\_Developer**

  The *aegis -New\_Developer* command is used to add new developers to a project. See [*aend*(1)](/aend/1.md) for more information.

- **-New\_File**

  The *aegis -New\_File* command is used to add new files to a change. See [*aenf*(1)](/aenf/1.md) for more information.

- **-New\_File\_Undo**

  The *aegis -New\_File\_Undo* command is used to remove new files from a change. See [*aenfu*(1)](/aenfu/1.md) for more information.

- **-New\_Integrator**

  The *aegis -New\_Integrator* command is used to add new integrators to a project. See [*aeni*(1)](/aeni/1.md) for more information.

- **-New\_Project**

  The *aegis -New\_Project* command is used to create a new project to be watched over by aegis. See [*aenpr*(1)](/aenpr/1.md) for more information.

- **-New\_Project\_Alias**

  The *aegis -New\_Project\_Alias* command is used to create a new project alias. See [*aenpa*(1)](/aenpa/1.md) for more information.

- **-New\_ReLeaSe**

  The *aegis -New\_ReLeaSe* command is used to create a new project from an existing project. See [*aenrls*(1)](/aenrls/1.md) for more information.

- **-New\_ReViewer**

  The *aegis -New\_ReViewer* command is used to add new reviewers to a project. See [*aenrv*(1)](/aenrv/1.md) for more information.

- **-New\_Test**

  The *aegis -New\_Test* command is used to add a new test to a change. See [*aent*(1)](/aent/1.md) for more information.

- **-New\_Test\_Undo**

  The *aegis -New\_Test\_Undo* command is used to remove new tests from a change. See [*aentu*(1)](/aentu/1.md) for more information.

- **-Project\_Attributes**

  The *aegis -Project\_Attributes* command is used to modify the attributes of a project. See [*aepa*(1)](/aepa/1.md) for more information.

- **-Remove\_Administrator**

  The *aegis -Remove\_Administrator* command is used to remove administrators from a project. See [*aera*(1)](/aera/1.md) for more information.

- **-Remove\_Developer**

  The *aegis -Remove\_Developer* command is used to remove developers from a project. See [*aerd*(1)](/aerd/1.md) for more information.

- **-ReMove\_file**

  The *aegis -ReMove\_file* command is used to add files to be deleted to a change. See [*aerm*(1)](/aerm/1.md) for more information.

- **-ReMove\_file\_Undo**

  The *aegis -Remove\_File\_Undo* command is used to remove files to be deleted from a change. See [*aermu*(1)](/aermu/1.md) for more information.

- **-Remove\_Integrator**

  The *aegis -Remove\_Integrator* command is used to remove integrators from a project. See [*aeri*(1)](/aeri/1.md) for more information.

- **-ReMove\_PRoject**

  The *aegis -ReMove\_PRoject* command is used to remove a project. See [*aermpr*(1)](/aermpr/1.md) for more information.

- **-Remove\_Project\_Alias**

  The *aegis -Remove\_Project\_Alias* command is used to remove a project alias. See [*aerpa*(1)](/aerpa/1.md) for more information.

- **-Remove\_ReViewer**

  The *aegis -Remove\_ReViewer* command is used to remove reviewers from a project. See [*aerrv*(1)](/aerrv/1.md) for more information.

- **-RePorT**

  The *aegis -RePorT* command is used to generate reports from aegis' database. These reports may be written by users, or be distributed with aegis.

- **-Review\_Fail**

  The *aegis -Review\_Fail* command is used to fail a change review. See [*aerfail*(1)](/aerfail/1.md) for more information.

- **-Review\_Begin**

  The *aegis -Review\_Begin* command is used to begin to review a change. See [*aerb*(1)](/aerb/1.md) for more information.

- **-Review\_Begin\_Undo**

  The *aegis -Review\_Begin\_Undo* command is used to stop reviewing a change. See [*aerbu*(1)](/aerbu/1.md) for more information.

- **-Review\_Pass**

  The *aegis -Review\_PASS* command is used to pass a change review. See [*aerpass*(1)](/aerpass/1.md) for more information.

- **-Review\_Pass\_Undo**

  The *aegis -Review\_Pass\_Undo* command is used to rescind a change review pass. See [*aerpu*(1)](/aerpu/1.md) for more information.

- **-Test**

  The *aegis -Test* command is used to run tests. See [*aet*(1)](/aet/1.md) for more information.

- **-VERSion**

  The *aegis -VERSion* command is used to get copyright and version details. See [*aev*(1)](/aev/1.md) for more information.

All function selectors are case insensitive. Function selectors may be abbreviated; the abbreviation is the upper case letters. Function selectors must appear as the first command line argument.

### Notification

Many *aegis* commands are capable of notification that they have been run.  The individual commands document those specific to them. For documentation on the various configurable notifications, see [*aepconf*(5)](/aepconf/5.md) and [*aepattr*(5)](/aepattr/5.md) for more information.

## OPTIONS

The following options are available to all functions. These options may appear anywhere on the command line following the function selectors.

- **-LIBrary** *abspath*

  This option may be used to specify a directory to be searched for global state files and user state files. (See [*aegstate*(5)](/aegstate/5.md) and [*aeustate*(5)](/aeustate/5.md) for more information.) Several library options may be present on the command line, and are search in the order given. Appended to this explicit search path are the directories specified by the *AEGIS\_PATH* environment variable (colon separated), and finally, */usr/local/lib/aegis* is always searched. All paths specified, either on the command line or in the *AEGIS\_PATH* environment variable, must be absolute.

- **-Verbose**

  This option may be used to cause aegis to produce more output. By default aegis only produces output on errors. When used with the **-List** option this option causes column headings to be added.

The following options are available to *most* functions. These options may appear anywhere on the command line following the function selectors.

- **-Project** *name*

  This option may be used to select the project of interest. When no **-Project** option is specified, the *AEGIS\_PROJECT* environment variable is consulted. If that does not exist, the user's *$HOME/.aegisrc* file is examined for a default project field (see [*aeuconf*(5)](/aeuconf/5.md) for more information). If that does not exist, when the user is only working on changes within a single project, the project name defaults to that project. Otherwise, it is an error.

- **-Change** *number*

  This option may be used to specify a particular change within a project. When no **-Change** option is specified, the *AEGIS\_CHANGE* environment variable is consulted. If that does not exist, the user's *$HOME/.aegisrc* file is examined for a default change field (see [*aeuconf*(5)](/aeuconf/5.md) for more information). If that does not exist, when the user is only working on one change within a project, that is the default change number. Otherwise, it is an error.

- **-Change** *project***.C***number*

  **As a shortcut, it is possible to combine the -Project and** **-Change options into a single option.**

- **-Change** *branch***.C***number*

  **Several functions accept a -BRanch option; it is possible to** **combine the -BRanch and -Change options in a single option.** **(This intentinally has the same form as the** *${version}* **substitution** **output for incomplete changes.)**

- **-Change** *branch***.D***number*

  **Several functions accept both the -BRanch and -Delta options** **(or -BRanch and -Change-From-Delta options); it is possible** **to combine them in a single option.  (This intentinally has the same** **form as the** *${version}* **substitution output for completed changes.)**

- **-Change** *project***.D***number*

  **It is possible to combine the -Project and** **-Change-From-Delta options as a single option.**

- **-Change** *UUID*

  **Each completed change is assigned a globallay unique identifier (UUID).** **You can specify a change by its 36-character UUID, or any unambiguous** **leading predix of the UUID (it must be at least 4 characters, and not look** **like a number).**

## Listings

**The following options are available to all listings.** **These options may appear anywhere on the command line following** **the function selectors.**

- **-PAGer**

  **The output of listings and help is piped through the pager command** **given in the** `PAGER` **environment variable** **(or** *more* **if not set).** **This is the default if the command is in the foreground,** **and the output is a TTY.** **This option may be used to override any preference specified in the** [*aeuconf*(5)](/aeuconf/5.md) **file.**

- **-No\_PAGer**

  **This option may be used to ensure that the output of listings and help** **is not piped through a pager command.** **This is the default if the command is in the background,** **or if the output is not a TTY.** **This option may be used to override any preference specified in the** [*aeuconf*(5)](/aeuconf/5.md) **file.**

- **-Page\_Length** *number*

  **This option may be used to set the page length of listings.** **The default,** **in order of preference,** **is obtained from the system,** **from the** *LINES* **environment variable,** **or set to 24 lines.**

- **-Page\_Width** *number*

  **This option may be used to set the page width of listings** **and error messages.** **The default,** **in order of preference,** **is obtained from the system,** **from the** *COLS* **environment variable,** **or set to 79 characters.**

- **-TERse**

  **This option may be used to cause listings to** **produce the bare minimum of information.** **It is usually useful for shell scripts.**

- **-UNFormatted**

  **This option may be used with most listings** **to specify that the column formatting is not to be performed.** **This is useful for shell scripts.**

- **-Page-Header**

  **This option requests that page headings be present in listings and reports.** **This is the default.**

- **-No-Page-Header**

  **This option requests that page headings be omitted from listings and reports.**

## Abbreviations

**All options may be abbreviated;** **the abbreviation is documented as the upper case letters,** **all lower case letters and underscores (\_) are optional.** **You must use consecutive sequences of optional letters.**

**All options are case insensitive,** **you may type them in upper case or lower case or a combination of both,** **case is not important.**

**For example:** **the arguments "-project, "-PROJ" and "-p" are** **all interpreted to mean the -Project option.** **The argument "-prj" will not be understood,** **because consecutive optional characters were not supplied.**

**Options and other command line arguments may be** **mixed arbitrarily on the command line,** **after the function selectors.**\

**The GNU long option names are understood.** **Since all option names for** *aegis* **are long,** **this means ignoring the extra leading '-'.** **The "--***option***=***value*" convention is also understood.

## EXIT STATUS

The *aegis* command will exit with a status of 1 on any error. The *aegis* command will only exit with a status of 0 if there are no errors.\

## ENVIRONMENT VARIABLES

The *aegis* command understands the following environment variables:

- AEGIS\_PATH

  A colon-separated list of library directories. See the **-LIBrary** option for a description how this environment variable is used.

- AEGIS\_PROJECT

  Names a default project. See the **-Project** option for a description how this environment variable is used.

- AEGIS\_CHANGE

  Specifies a default change. See the **-Change** option for a description how this environment variable is used.

- AEGIS\_FLAGS

  This environment variable is used to hold [*aeuconf*(5)](/aeuconf/5.md) information, and over-rides the settings in the users *.aegisrc* file. This is intended to be used within the tests distributed with aegis, but can also be of use within some shell scripts.

- AEGIS\_THROTTLE

  Specifies the number of seconds to delay execution within commands which set time stamps. This is intended to be used within the tests distributed with aegis, but can also be of use within some shell scripts.

- AEGIS\_AUTOMOUNT\_POINTS

  A colon-separated list of directories which the automounter may use to mount file systems.  Use with extreme care, as this distorts Aegis' idea of the shape of the filesystem.

  This feature assumes that paths below the automounter's mount directory are echoes of paths without it. *E.g.* When `/home` is the trigger, and `/tmp_mnt/home` is where the on-demand NFS mount is performed, with `/home` appearing to processes to be a symlink.

  This is the behavior of the Sun automounter.  The AMD automounter is capable of being configured in this way, though it is not typical of the examples in the manual.  Nor is it typical of the out-of-the-box Linux AMD configuration in many distributions.

- COLS

  Specifies the page width for errors and listings. See the **-Page\_Width** option for a description how this environment variable is used.

- EDITOR

  Specifies the program use to edit files when the **-Edit** or **-Edit\_BackGround** options are used. (See also the *VISUAL* environment variable.) Defaults to *vi* if not set. See the *editor\_command* fields in *aeuconf*(1) for how to override this specifically for Aegis.

- LINES

  Specifies the page length for listings. See the **-Page\_Length** option for a description how this environment variable is used.

- PAGER

  Specifies the program to use to view listings and help. Not used if output is to a file or a pipe. Defaults to *more* if not set.

- VISUAL

  Specifies the program use to edit files when the **-Edit** option is used. (See also the *EDITOR* environment variable.) Defaults to *vi* if not set. See the *visual\_command* fields in *aeuconf*(1) for how to override this specifically for Aegis.

- AEGIS\_DATADIR

  Overrides the datadir as specified at *configure* invocation. Useful mainly for testing.

When commands are executed by Aegis, it ensures that the AEGIS\_PROJECT, AEGIS\_CHANGE, AEGIS\_ARCH, LINES and COLS environment variables are set appropriately.  The project configuration file's *project\_specific* field is also consulted, looking for value's whose name starts with "setenv:" and sets the corresponding environment variable.  All of the substitutions described by [*aesub*(5)](/aesub/5.md) are available. For example: specifying a PATH and a SEARCH\_PATH to be used for all commands may be set as follows:

```
project_specific =
[
  {
    name = "setenv:PATH";
    value = "/usr/bin:/bin";
  },
  {
    name = "setenv:SEARCH_PATH";
    value = "${search_path}";
  },
];
```

As many environment variables as desired may be specified in this way.\

## SEE ALSO

- [*aegis*(5)](/aegis/5.md)

  aegis file format syntax

- [*aecattr*(5)](/aecattr/5.md)

  change attributes file format

- [*aecstate*(5)](/aecstate/5.md)

  change state file format

- [*aedir*(5)](/aedir/5.md)

  directory structures

- [*aegstate*(5)](/aegstate/5.md)

  aegis state file format

- [*aepattr*(5)](/aepattr/5.md)

  project attributes file format

- [*aepconf*(5)](/aepconf/5.md)

  project configuration file format

- [*aepstate*(5)](/aepstate/5.md)

  project state file format

- [*aer*(5)](/aer/5.md)

  report script language definition

- [*aesub*(5)](/aesub/5.md)

  available command substitutions

- [*aeuconf*(5)](/aeuconf/5.md)

  user configuration file format

- [*aeustate*(5)](/aeustate/5.md)

  user state file format\

## COPYRIGHT

aegis version 4.24.3.D001\
 Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Peter Miller

The aegis program comes with ABSOLUTELY NO WARRANTY; for details use the '*aegis -VERSion License*' command. This is free software and you are welcome to redistribute it under certain conditions; for details use the '*aegis -VERSion License*' command.\

## AUTHOR

| | | |
| --- | --- | --- |
| Peter Miller | E-Mail: | millerp@canb.auug.org.au |
| `/\/\*` | WWW: | http://www.canb.auug.org.au/~millerp/ |
