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