aegis(1)

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) for more information.

-Change_Attributes
    The aegis -Change_Attributes command is used to modify the attributes of a change. See aeca(1) for more information.

-Change_Directory
    The aegis -Change_Directory command is used to change directory. See aecd(1) 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) for more information.

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

-CoPy_file
    The aegis -CoPy_file command is used to copy a file into a change. See aecp(1) 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) for more information.

-DELta_NAme
    The aegis -DELta_NAme command is used to add a symbolic name to a project delta. See aedn(1) for more information.

-Develop_Begin
    The aegis -Develop_Begin command is used to begin development of a change. See aedb(1) for more information.

-Develop_Begin_Undo
    The aegis -Develop_Begin_Undo command is used to cease development of a change. See aedbu(1) for more information.

-Develop_End
    The aegis -Develop_End command is used to complete development of a change. See aede(1) for more information.

-Develop_End_Undo
    The aegis -Develop_End_Undo command is used to recall a change for further development. See aedeu(1) for more information.

-DIFFerence
    The aegis -DIFFerence command is used to find differences between development directory and baseline. See aed(1) 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) for more information.

-Integrate_Begin_Undo
    The aegis -Integrate_Begin_Undo command is used to cease integrating a change. See aeibu(1) for more information.

-Integrate_Fail
    The aegis -Integrate_Fail command is used to fail a change integration. See aeifail(1) for more information.

-Integrate_Pass
    The aegis -Integrate_PASS command is used to pass a change integration. See aeipass(1) for more information.

-List
    The aegis -List command is used to list interesting things. See ael(1) 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) 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) for more information.

-New_Administrator
    The aegis -New_Administrator command is used to add new administrators to a project. See aena(1) for more information.

-New_BRanch
    The aegis -New_BRanch command is used to add a new branch to a project. See aenbr(1) 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) for more information.

-New_Change
    The aegis -New_Change command is used to add a new change to a project. See aenc(1) 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) for more information.

-New_Developer
    The aegis -New_Developer command is used to add new developers to a project. See aend(1) for more information.

-New_File
    The aegis -New_File command is used to add new files to a change. See aenf(1) for more information.

-New_File_Undo
    The aegis -New_File_Undo command is used to remove new files from a change. See aenfu(1) for more information.

-New_Integrator
    The aegis -New_Integrator command is used to add new integrators to a project. See aeni(1) 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) for more information.

-New_Project_Alias
    The aegis -New_Project_Alias command is used to create a new project alias. See aenpa(1) for more information.

-New_ReLeaSe
    The aegis -New_ReLeaSe command is used to create a new project from an existing project. See aenrls(1) for more information.

-New_ReViewer
    The aegis -New_ReViewer command is used to add new reviewers to a project. See aenrv(1) for more information.

-New_Test
    The aegis -New_Test command is used to add a new test to a change. See aent(1) for more information.

-New_Test_Undo
    The aegis -New_Test_Undo command is used to remove new tests from a change. See aentu(1) for more information.

-Project_Attributes
    The aegis -Project_Attributes command is used to modify the attributes of a project. See aepa(1) for more information.

-Remove_Administrator
    The aegis -Remove_Administrator command is used to remove administrators from a project. See aera(1) for more information.

-Remove_Developer
    The aegis -Remove_Developer command is used to remove developers from a project. See aerd(1) for more information.

-ReMove_file
    The aegis -ReMove_file command is used to add files to be deleted to a change. See aerm(1) 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) for more information.

-Remove_Integrator
    The aegis -Remove_Integrator command is used to remove integrators from a project. See aeri(1) for more information.

-ReMove_PRoject
    The aegis -ReMove_PRoject command is used to remove a project. See aermpr(1) for more information.

-Remove_Project_Alias
    The aegis -Remove_Project_Alias command is used to remove a project alias. See aerpa(1) for more information.

-Remove_ReViewer
    The aegis -Remove_ReViewer command is used to remove reviewers from a project. See aerrv(1) 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) for more information.

-Review_Begin
    The aegis -Review_Begin command is used to begin to review a change. See aerb(1) for more information.

-Review_Begin_Undo
    The aegis -Review_Begin_Undo command is used to stop reviewing a change. See aerbu(1) for more information.

-Review_Pass
    The aegis -Review_PASS command is used to pass a change review. See aerpass(1) for more information.

-Review_Pass_Undo
    The aegis -Review_Pass_Undo command is used to rescind a change review pass. See aerpu(1) for more information.

-Test
    The aegis -Test command is used to run tests. See aet(1) for more information.

-VERSion
    The aegis -VERSion command is used to get copyright and version details. See aev(1) 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) and aepattr(5) 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) and aeustate(5) 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) 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) 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.Cnumber
    As a shortcut, it is possible to combine the -Project and -Change options into a single option.

-Change branch.Cnumber
    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.Dnumber
    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.Dnumber
    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) 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) 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) 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) 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 file format syntax

aecattr(5)
    change attributes file format

aecstate(5)
    change state file format

aedir(5)
    directory structures

aegstate(5)
    aegis state file format

aepattr(5)
    project attributes file format

aepconf(5)
    project configuration file format

aepstate(5)
    project state file format

aer(5)
    report script language definition

aesub(5)
    available command substitutions

aeuconf(5)
    user configuration file format

aeustate(5)
    user state file format

COPYRIGHT
aegis version 4.24.2.D001
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 20 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/