aegis change attributes - modify the attributes of a change
aegis -Change_Attributes -File
attr‐file [ option... ]
aegis -Change_Attributes -Edit [ option... ]
aegis -Change_Attributes -Fix_ARchitecture
aegis -Change_Attributes name=value
aegis -Change_Attributes -List [ option... ]
aegis -Change_Attributes -Help
aegis -Change_Attributes -UUID string [
option... ]
The aegis -Change_Attributes command is used to set,
edit or list the attributes of a change.
The output of the -List variant is suitable for use as
input at a later time.
See aecattr(5) for a description of the file format.
The name=value form of the command may be
used when you wish to add or modify change set attributes. If an attribute
is already present, it will be modified; if there is more than one attribute
with the same name, only the first will be modified. The
name+=value form will always append the pair.
When you edit the file, you will see something like this:
brief_description = "login(1) is too fussy";
description = "When users type their password "
"incorrectly, after three times the login(1) "
"program should assume they have forgotten "
"their password and automatically reset it "
"for them.";
cause = external_enhancement;
attribute =
[
{
name = "bugzilla";
value = "666";
},
{
name = "customer‐priority";
value = "high";
},
{
name = "marketing‐priority";
value = "urgent‐panic‐headless‐chicken";
},
{
name = "engineering‐priority";
value = "after‐heat‐death‐of‐universe";
}
];
Note the semicolons, you need to get them right. Edit the fields you want to
change. When you quit the editor, they will be updated.
While many of the anticipated used of change attributes are to
allow projects to attach their own specialized data to change sets, Aegis
also uses some attributes for its own purposes (and arguably, should always
have done so to maximize forwards compatibility across Aegis upgrades).
- aeget:inventory:hide
- boolean. If true, this change set does not appear in aeget(1)'s
change set inventory pages, used by aedist -replay to decide what
to download and apply. Think of it as a "local only" flag.
- aeget‐inventory‐hide
- Do not show this change set in the file inventory. See aeget(1) for
more information.
- aegis:history_get_command
- Used when reconstructing file history, and the history tool has been
changed at some point in the past.
- aemakegen:debian:accepted
- Set to true when a debian package upload has succeeded, and the BTS tells
you the bug fixes have been accepted.
- foreign‐copyright
- boolean. If true, none of the files in this change set will not be checked
by the aede‐policy(1) copyright
validation.
- integrate‐begin‐hint
- Suggest options when integrating. See aeib(1) for more
information.
- original‐uuid
- This is set by aedist -receive when an incoming change set is
changed before it can end development. There may be more than one. The
aeget(1) inventory "all" page will show these additional
UUIDs, used by the aedist -pending command..
- aegis:history_get_command
- This is set by aeipass when integrating a change. See the
CHANGING HISTORY TOOL section of aepconf(5) for more
information.
Each change set is assigned a unique universal identifier (UUID)
at integrate pass time. This serves to identify the change across all
sites when a geographically distributed development model is being used.
This may be exploited to rapidly determine which change sets need to be
downloaded.
The -Universal_Unique_IDentifier option is used by the
aedist(1) and aepatch(1) commands to set the UUID of a change
set. It should not be used by developers.
There are several ways you can use the attributes of an Aegis
change in a shell script:
- aereport(1)
- The report generator is able to access change attributes. You can then
have the report generator print the necessary data.
- aesub(1)
- Many change attributes can be accessed via the aesub(5) command
substitutions, and printed using the aesub(1) command.
- aeca -l
- The list option of the aeca(1) command may be used to print the
values of all editable change attributes. It can be groped using
grep(1) or awk(1), or similar.
- aexml(1)
- It is possible to get a great deal of information in XML format, including
change attributes. This format can be parsed by a variety of
packages.
Use the method best suited to your particular needs.
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.
- -Description_Only
- This option may be used to specify that only the change description is the
subject of this command. It will be presented as plain text, without any
of the quotes or escapes present when this command is not used.
- -Edit
-
Edit the attributes with a text editor, this is usually
more convenient than supplying a text file. The
VISUAL and then
EDITOR environment variables are consulted for the name of the editor
to use; defaults to
vi(1) if neither is set. See the
visual_command and
editor_command fields in
aeuconf(1)
for how to override this specifically for Aegis.
Warning: Aegis tries to be well behaved when faced with errors, so
the temporary file is left in your home directory where you can edit it
further and re‐use it with a -file option.
The -edit option may not be used in the background, or when
the standard input is not a terminal.
- -Edit_BackGround
-
Edit the attributes with a dumb text editor, this is most often desired when
edit commands are being piped into the editor via the standard input. Only
the EDITOR environment variable is consulted for the name of the
editor to use; it is a fatal error if it is not set. See the
editor_command field in aeuconf(1) for how to override this
specifically for Aegis.
- -File
filename
-
Take the attributes from the specified file. The filename `-' is understood
to mean the standard input.
- -Fix_ARchitecture
- This option may be used to replace change change's architecture list with
all of the mandatory architectures from the project configuration file,
plus any of the optional architectures that match the current machine. May
not be used with -file or -edit options.
- -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.
- -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.
- -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.
- -Universal_Unique_IDentifier
string
- This option may be used to set the UUID of change change.
- -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.
The recommended alias for this command is
csh% alias aeca 'aegis -ca \!* -v'
sh$ aeca(){aegis -ca "$@" -v}
It is an error if the current user is not an administrator of the
specified project.
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.
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.
aegis version 4.25.D510
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.
Peter Miller |
E‐Mail: |
pmiller@opensource.org.au |
/\/\* |
WWW: |
http://miller.emu.id.au/pmiller/ |