Provided by: aegis_4.24.3-3_i386 bug

NAME

        aegis change attributes - modify the attributes of a change

SYNOPSIS

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

DESCRIPTION

        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.

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

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

        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.

        foreign-copyright
                boolean.  If true, none of the files in this change set will
                not be checked by the aede-policy(1) copyright validation.

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

   Universal Unique Identifier
        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.

   Using Change Attributes in Scripts
        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.

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.

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

RECOMMENDED ALIAS

        The recommended alias for this command is
        csh%    alias aeca 'aegis -ca \!* -v'
        sh$     aeca(){aegis -ca "$@" -v}

ERRORS

        It is an error if the current user is not an administrator of the
        specified project.

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.

SEE ALSO

        tkaeca(1)
                GUI interface to the aeca(1) command.

        aecattr(5)
                change attributes file format

        aecstate(5)
                change state file format

        aepa(5) modify the attributes of a project

        aesub(5)
                available command substitutions

        aeuconf(5)
                user configuration 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/