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.
-
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.
- 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}"; }, ];
COPYRIGHT
aegis version 4.24.3.D001Copyright (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.