'\" t
.\" aegis - project change supervisor
.\" Copyright (C) 1991-2008 Peter Miller
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see
.\" .
.\"
.\"
.\" aegis - project change supervisor
.\" Copyright (C) 1991-1993, 1997, 2006-2008 Peter Miller
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see
.\" .
.\"
.ds n) aegis
.ds N) Aegis
.if n .nr )M 8n
.if n .nr IN 8n
.if n .nr )I 8n
.if n .po 0
.hy 0
.if n .ad l
.de r)
.if !'\\*(R)'no' \{\
.PP
See also
.IR \*(n) (1)
for options common to all \*(n) commands.
.\}
..
.de eB
.RS
.nf
.ft CW
.ta 8n 16n 24n 32n
..
.de eE
.ft P
.fi
.RE
..
.TH "\*(n) -Change_Attributes" 1 \*(N) "Reference Manual"
.SH NAME
aegis change attributes \- modify the attributes of a change
.XX "aeca(1)" "modify the attributes of a change"
.SH SYNOPSIS
.B \*(n)
.B -Change_Attributes
.B -File
.I attr-file
[
.IR option ...
]
.br
.B \*(n)
.B -Change_Attributes
.B -Edit
[
.IR option ...
]
.br
.B \*(n)
.B -Change_Attributes
.B -Fix_ARchitecture
.br
.B \*(n)
.B -Change_Attributes
\f[I]name\fP\fB=\fP\f[I]value\fP
.br
.B \*(n)
.B -Change_Attributes
.B -List
[
.IR option ...
]
.br
.B \*(n)
.B -Change_Attributes
.B -Help
.br
.B \*(n)
.B -Change_Attributes
\fB\-UUID\fP \f[I]string\fP
[ \f[I]option\fP... ]
.SH DESCRIPTION
The
.I \*(n)
.I -Change_Attributes
command is used to set, edit or list the attributes of a change.
.PP
The output of the
.B -List
variant is suitable for use as input at a later time.
.PP
See
.IR aecattr (5)
for a description of the file format.
.PP
The \f[I]name\fP\fB=\fP\f[I]value\fP 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 \f[I]name\fP\fB+=\fP\f[I]value\fP form will always append the pair.
.SS Example
When you edit the file, you will see something like this:
.RS
.nf
.ft CW
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";
}
];
.ft R
.fi
.RE
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.
.SS Known Attribute Names
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).
.TP 8n
aeget:inventory:hide
boolean. If true, this change set does not appear in \f[I]aeget\fP(1)'s
change set inventory pages, used by \f[I]aedist -replay\fP to decide what
to download and apply. Think of it as a "local only" flag.
.TP 8n
foreign-copyright
boolean. If true, none of the files in this change set will not be
checked by the \f[I]aede-policy\fP(1) \f[CW]copyright\fP validation.
.TP 8n
original-uuid
This is set by \f[I]aedist -receive\fP when an incoming change set
is changed before it can end development.
There may be more than one.
The \f[I]aeget\fP(1) inventory "all" page will show these
additional UUIDs, used by the \f[I]aedist \-pending\fP command..
.SS Universal Unique Identifier
Each change set is assigned a unique universal identifier (UUID) at
\f[I]integrate pass\fP 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.
.PP
The \fB\-Universal_Unique_IDentifier\fP option is used by the
\f[I]aedist\fP(1) and \f[I]aepatch\fP(1) commands to set the UUID of a
change set. It should not be used by developers.
.SS Using Change Attributes in Scripts
There are several ways you can use the attributes of an Aegis change in
a shell script:
.TP 8n
\f[I]aereport\fP(1)
The report generator is able to access change attributes.
You can then have the report generator print the necessary data.
.TP 8n
\f[I]aesub\fP(1)
Many change attributes can be accessed via the \f[I]aesub\fP(5) command
substitutions, and printed using the \f[I]aesub\fP(1) command.
.TP 8n
aeca -l
The list option of the \f[I]aeca\fP(1) command may be used to print the
values of all editable change attributes. It can be groped using
\f[I]grep\fP(1) or \f[I]awk\fP(1), or similar.
.TP 8n
\f[I]aexml\fP(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.
.PP
Use the method best suited to your particular needs.
.SH OPTIONS
The following options are understood:
.\"
.\" aegis - project change supervisor
.\" Copyright (C) 1991-1993, 2003, 2006-2008 Peter Miller.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see
.\" .
.\"
.TP 8n
\fB-Change\fP \fInumber\fP
This option may be used to specify a particular change within a project.
See \fIaegis\fP(1) for a complete description of this option.
.TP 8n
\fB\-Description_Only\fP
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.
.\"
.\" aegis - project change supervisor
.\" Copyright (C) 1993, 1995, 1997, 2002, 2006-2008 Peter Miller
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see
.\" .
.\"
.TP 8n
.B -Edit
.br
.RS
Edit the attributes with a text editor, this is usually more convenient
than supplying a text file. The \fIVISUAL\fP and then \fPEDITOR\fP
environment variables are consulted for the name of the editor to use;
defaults to \fIvi\fP(1) if neither is set.
See the \fIvisual_\%command\fP and \fIeditor_\%command\fP fields in
\fIaeuconf\fP(1) for how to override this specifically for Aegis.
.PP
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 \fB\-file\fP option.
.PP
The \fB\-edit\fP option may not be used in the background, or when the
standard input is not a terminal.
.RE
.TP 8n
.B -Edit_BackGround
.br
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 \fPEDITOR\fP environment variable is consulted for the name of
the editor to use; it is a fatal error if it is not set.
See the \fIeditor_\%command\fP field in \fIaeuconf\fP(1) for how to
override this specifically for Aegis.
.\"
.\" aegis - project change supervisor
.\" Copyright (C) 1995, 2001, 2006-2008 Peter Miller
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see
.\" .
.\"
.TP 8n
\fB-File\fP \fIfilename\fP
.br
Take the attributes from the specified file.
The filename `-' is understood to mean the standard input.
.TP 8n
\-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.
.\"
.\" aegis - project change supervisor
.\" Copyright (C) 1991-1993, 2006-2008 Peter Miller.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see
.\" .
.\"
.TP 8n
.B -Help
.br
This option may be used to obtain more information about how to use the
.I \*(n)
program.
.\"
.\" aegis - project change supervisor
.\" Copyright (C) 1991-1993, 2006-2008 Peter Miller.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see
.\" .
.\"
.TP 8n
.B -List
.br
This option may be used to obtain a list of suitable subjects for this
command.
The list may be more general than expected.
.\"
.\" aegis - project change supervisor
.\" Copyright (C) 1991-1993, 2006-2008 Peter Miller.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see
.\" .
.\"
.TP 8n
\fB-Project\fP \fIname\fP
This option may be used to select the project of interest.
When no
.B -Project
option is specified,
the
.I AEGIS_PROJECT
environment variable is consulted.
If that does not exist,
the user's
.I $HOME/.aegisrc
file is examined for a default project field (see
.IR 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.
.\"
.\" aegis - project change supervisor
.\" Copyright (C) 1991-1993, 2002, 2006-2008 Peter Miller.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see
.\" .
.\"
.TP 8n
.B -TERse
.br
This option may be used to cause listings to
produce the bare minimum of information.
It is usually useful for shell scripts.
.\"
.\" aegis - project change supervisor
.\" Copyright (C) 1991-1993, 2002, 2006-2008 Peter Miller.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see
.\" .
.\"
.TP 8n
.B -Verbose
This option may be used to cause \*(n) to produce more output.
By default \*(n) only produces output on errors.
When used with the
.B -List
option
this option causes column headings to be added.
.TP 8n
\fB\-Universal_Unique_IDentifier\fP \f[I]string\fP
This option may be used to set the UUID of change change.
.\"
.\" aegis - project change supervisor
.\" Copyright (C) 1998, 2006-2008 Peter Miller
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see
.\" .
.\"
.TP 8n
.B \-Wait
This option may be used to require \*(N) commands to wait for access
locks, if they cannot be obtained immediately.
Defaults to the user's
.I lock_wait_preference
if not specified, see
.IR aeuconf (5)
for more information.
.TP 8n
.B \-No_Wait
This option may be used to require \*(N) commands to emit a fatal error
if access locks cannot be obtained immediately.
Defaults to the user's
.I lock_wait_preference
if not specified, see
.IR aeuconf (5)
for more information.
.\"
.\" aegis - project change supervisor
.\" Copyright (C) 1991-1993, 2006-2008 Peter Miller.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see
.\" .
.\"
.r)
.PP
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.
.PP
All options are case insensitive,
you may type them in upper case or lower case or a combination of both,
case is not important.
.PP
For example:
the arguments "-project, "-PROJ" and "-p" are
all interpreted to mean the \fB-Project\fP option.
The argument "-prj" will not be understood,
because consecutive optional characters were not supplied.
.PP
Options and other command line arguments may be
mixed arbitrarily on the command line,
after the function selectors.
.br
.ne 4
.PP
The GNU long option names are understood.
Since all option names for
.I \*(n)
are long,
this means ignoring the extra leading '-'.
The "\fB--\fIoption\fB=\fIvalue\fR" convention is also understood.
.SH RECOMMENDED ALIAS
The recommended alias for this command is
.nf
.ta 8n 16n
csh% alias aeca '\*(n) -ca \e!* -v'
sh$ aeca(){\*(n) -ca "$@" -v}
.fi
.SH ERRORS
It is an error if
the current user is not an administrator of the specified project.
.\"
.\" aegis - project change supervisor
.\" Copyright (C) 1991-1993, 1995, 1997, 2004, 2006-2008 Peter Miller
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see
.\" .
.\"
.SH EXIT STATUS
The
.I \*(n)
command will exit with a status of 1 on any error.
The
.I \*(n)
command will only exit with a status of 0 if there are no errors.
.SH ENVIRONMENT VARIABLES
See \fIaegis\fP(1) for a list of environment variables which may affect
this command.
See \fIaepconf\fP(5) for the project configuration file's
\fIproject_\%specific\fP field for how to set environment variables for
all commands executed by Aegis.
.br
.ne 1i
.SH SEE ALSO
.TP 8n
.IR tkaeca (1)
GUI interface to the \f[I]aeca\fP(1) command.
.TP 8n
.IR aecattr (5)
change attributes file format
.TP 8n
.IR aecstate (5)
change state file format
.TP 8n
.IR aepa (5)
modify the attributes of a project
.TP 8n
.IR aesub (5)
available command substitutions
.TP 8n
.IR aeuconf (5)
user configuration file format
.\"
.\" aegis - project change supervisor
.\" Copyright (C) 1991-1995, 1997, 2006-2008 Peter Miller
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see
.\" .
.\"
.br
.ne 2i
.SH COPYRIGHT
.ds v) 4.24.3
.ds V) 4.24.3.D001
.ds o) 0
.ds p) 4.25
.ds u) 4.24
.ds Y) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
\*(n) version \*(V)
.br
.if t .ds C) \(co
.if n .ds C) (C)
Copyright \*(C) \*(Y) Peter Miller
.PP
The \*(n) program comes with ABSOLUTELY NO WARRANTY;
for details use the '\fI\*(n) -VERSion License\fP' command.
This is free software
and you are welcome to redistribute it under certain conditions;
for details use the '\fI\*(n) -VERSion License\fP' command.
.br
.ne 1i
.SH AUTHOR
.TS
tab(;);
l r l.
Peter Miller;E-Mail:;millerp@canb.auug.org.au
\f(CW/\e/\e*\fR;WWW:;http://www.canb.auug.org.au/~millerp/
.TE