'\" 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 .\" . .\" .so z_name.so .TH "\*(n) -Change_Attributes" 1 \*(N) "Reference Manual" .SH NAME \*(n) -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: .so o_change.so .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. .so o_edit.so .so o_file.so .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. .so o_help.so .so o_list.so .so o_project.so .so o_terse.so .so o_verbose.so .TP 8n \fB\-Universal_Unique_IDentifier\fP \f[I]string\fP This option may be used to set the UUID of change change. .so o_wait.so .so o__rules.so .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. .so z_exit.so .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 .so z_cr.so