This is the command aeib that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
PROGRAM:
NAME
aegis integrate begin - begin integrating a change
SYNOPSIS
aegis -Integrate_Begin change-number [ option... ]
aegis -Integrate_Begin -List [ option... ]
aegis -Integrate_Begin -Help
DESCRIPTION
The aegis -Integrate_Begin command is used to begin the integration of a change into the
baseline of a project.
The change will advance from the awaiting integration state to the being integrated
state. boxwid = 1 down S4: box "awaiting" "integration" arrow " integrate" ljust "
begin" ljust S5: box "being" "integrated" T4: spline -> from S5.w then left 0.5 then up 1
then to S4.w " integrate" ljust " begin" ljust " undo" ljust at T4.c - (0.5,0)
A (logical) copy of the baseline is created in an integration directory and the the files
of the change are added to the integration directory. The time stamps of files copied
from the baseline are preserved, time stamps on the files copied from the development
directory are all set to the time of the beginning of the integration. The 'aegis
-Change_Directory' command may be used to locate the integration directory. The change
will be assigned to the current user.
Please note that only regular files and symbolic links are copied (linked) from the
baseline to the integration directory. This has some implications:
· Special files (devices, named pipes, etc) will not be reproduced in the integration
directory; you will need to create these as part of the build.
· If the case of the -minimum option (see below), only primary source files are copied
(linked) across. Derived files (including symbolic links) are expected to be created
as part of the build.
· If the case of the -minimum option, directories are only created when required to hold
a file which satisfies the above criteria. If you need special empty directories, or
directories which contain only special files, or only contain derived files, you need
to create them as part of the build.
The link_integration_directory field of the project configuration file (see aepconf(5)
for more information) controls whether the copy of the baseline is done by copying the
files or by creating hard links to the files. The hard links are just one of the
constraints on the location of the integration directory. The integrate begin will abort
with an error if this copy operation fails, e.g. by running out of disk space. If this
should happen, the change will remain in the awaiting integration state, and the
integration directory will be removed.
The change will be assigned a delta number. Delta numbers are incremented once for each
aegis -Integrate_Begin command for the project. If an integration is subsequently
aborted with either the aegis -Integrate_Begin_Undo or aegis -Integrate_FAIL command, the
delta number will not be re-used.
It is not possible to choose the integration directory, as there are many constraints
upon it, including the fact that it must be on the same device as the baseline directory,
and that many UNIX implementations don't allow renaming directories up and down the
trees. The integration directory will be in the project directory, and named for the
delta number.
Notification
On successful completion of this command, the integration_begin_command field of the
project config file is run, if set. See aepconf(5) for more information.
Minimum Integrations
Aegis provides a minimum integration capability which may be used for various reasons.
The term minimum may be a bit counter intuitive. One might think it means to the minimum
amount of work, however it actually means use a minimum of files from the baseline in
populating the delta directory. This normally leads to actually building everything in
the project from sources and, as such, might be considered the most robust of builds.
Note that any change which removes a file, whether by aerm, aemv or aemt, results in an
implicit minimum integration. This is intended to ensure nothing in the project
references the removed file.
A project may adopt a policy that a product release should be based on a minimum
integration. Such a policy may be a reflection of local confidence, or lack thereof, in
the project's DMT (Dependency Maintenance Tool) or build system. Or it may be based on a
validation process wishing to make a simple statement on how the released package was
produced.
Another, more transient, reason a to require a minimum integration might be when
upgrading a third party library, compiler or maybe even OS level. Any of these events
would signal the need for a minimum integration to ensure everything is rebuilt using the
new resources.
The cost of a minimum integration varies according to type and size of the project. For
very large projects, especially those building large numbers of binaries, the cost can be
large. However large projects also require significant time to fully populate the delta
directory. A minimum integration only copies those files under Aegis control, skipping
all “produced” files. In the case where a file upon which everything depends is changed,
everything will be built anyway so the copy of the already built files is a waste of
time. This means that sometimes a minimum can be as cheap as a normal integration.
Change Set Attributes
The follwoing user-defined change set attributes are understood:
integrate-begin-hint
If this is set to "minimum" or "maximum", it is as if these options appeared on
the command line. Only consulted if neither -minimum nor -maximum appear on the
command line.
All other user defined change set attributes are ignored.
OPTIONS
The following options are understood:
-Change number
This option may be used to specify a particular change within a project. See
aegis(1) for a complete description of this option.
-Help
This option may be used to obtain more information about how to use the aegis
program.
-List
This option may be used to obtain a list of suitable subjects for this command.
The list may be more general than expected.
-MAXimum
This option may be used to cause all files to be copied into the integration
directory. This is the default, unless the change requires the deletion of a
file.
-MINImum
This option may be used to cause only the source files to be copied into the
integration directory. The default is to copy all files, unless the change
requires the deletion of a file.
-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.
-REAson text
This option may be used to attach a comment to the change history generated by
this command. You will need to use quotes to insulate the spaces from the shell.
-TERse
This option may be used to cause listings to produce the bare minimum of
information. It is usually useful for shell scripts.
-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.
-Wait This option may be used to require Aegis commands to wait for access locks, if
they cannot be obtained immediately. Defaults to the user's lock_wait_preference
if not specified, see aeuconf(5) for more information.
-No_Wait
This option may be used to require Aegis commands to emit a fatal error if access
locks cannot be obtained immediately. Defaults to the user's
lock_wait_preference if not specified, see aeuconf(5) for more information.
See also aegis(1) for options common to all aegis commands.
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.
RECOMMENDED ALIAS
The recommended alias for this command is
csh% alias aeib 'aegis -ib \!* -v'
sh$ aeib(){aegis -ib "$@" -v}
ERRORS
It is an error if the change is not in the awaiting integration state.
It is an error if the current user is not an integrator of the project.
It is an error if there is an integration in progress for the project.
It is an error if the current user developed the change and the project is configured to
disallow developers to integrate their own changes (default).
It is an error if the current user reviewed the change and the project is configured to
disallow reviewers to integrate their such changes (default).
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
See aegis(1) for a list of environment variables which may affect this command. See
aepconf(5) for the project configuration file's project_specific field for how to set
environment variables for all commands executed by Aegis.
Use aeib online using onworks.net services