man aeuconf (Formats) - user configuration file

NAME

aeuconf - user configuration file

SYNOPSIS

$AEGIS_FLAGS

$HOMECW/.aegisrc

/aegisrc

/aegisrc

DESCRIPTION

A user configuration file is used to hold user defaults. This file is created and edited by the user. This file is only ever read by , it is never written.

The sources of user preferences are scanned in the order given above. Earlier sources have higher priority.

AEGIS_FLAGS

This environment variable has the same format. It is read first, and over-rides the .rc file contents. This is intended to be used within the tests distributed with aegis, but can also be of use within some shell scripts. It contains session specific preferences.

$HOMECW/.aegisrc

This file contains user specific preferences.

/aegisrc

This file contains architecture-neutral preferences.

/aegisrc

This file contains architecture-specific preferences.

CONTENTS

The file contains the following fields:

default_development_directory = string;


The pathname of where to place new development directories. The pathname may be relative, in which case it is relative to $HOME. The default is the field of the same name in the project attributes, or $HOME neither is set.
default_project_directory = string;


The pathname of where to place new project directories. The pathname may be relative. If this path is relative, it is relative to $HOME. The default is $HOME.
delete_file_preference = (no_keep, interactive, keep);


All of the commands which delete files will consult this field to determine if the file should be deleted. Defaults to no_keep if not set.
default_project_name = string;


The name of a project.
default_change_number = integer;


The number of a change.

Please note that the default_project_name field and the default_change_number field are unrelated. Specifying both does not mean that single change within that single project, they have nothing to do with each other.

diff_preference = (automatic_merge, no_merge, only_merge);
The aed(1) command will consult this field to determine what to do:
no_merge
means only diff the files, even if some have out of date versions.
only_merge
means merge those files with out of date versions, and do not do anything else, even if they need to be diffed.
automatic_merge
means to do only_merge if any source files require merging, otherwise do no_merge. It never combines merges and differences in the same pass.

The corresponding command line options to the aed(1) command take precedence, this field is only consulted if you do not give a corresponding command line argument. Defaults to automatic_merge if not set.

pager_preference = (foreground, never);
This field is consulted for listings and help. The standard output is only piped to a pager if the command is run in the foreground and the standard output is directed at a terminal.
foreground
The standard output will be piped through the command given in the CWPAGER environment variable (or more if not set).
never
The standard output will not be redirected.

This field defaults to foreground if not set.

persevere_preference = (all, stop);
This field is consulted by the aet(1) command, to determine if it should run all tests, or stop after the first failure. This field defaults to all if not set.
log_file_preference = (snuggle, append, replace, never);
This field controls the behavior of the log file. It usually defaults to snuggle if not set, although some commands may default it to append. When the log file is in use, the output continues to be sent to the screen if the process is in the foreground and the standard output is a terminal.
never
Do not redirect the output to a log file.
replace
Replace any log file that is present, create a new one if none already exists.
append
Append the log to the end of any existing log file, create a new one if none already exists.
snuggle
Append the log to the end of any existing log file if that log file was last modified less than 30 seconds ago, otherwise replace any existing log file; create a new one if none already exists. This option allows runs of aegis commands to produce a meaningful log file.
lock_wait_preference = (always, background, never);
This field is consulted by all commands which wait for locks.
always
The "always" setting says that all commands should always wait for locks. This is the default.
background
The "background" setting says that background commands should always wait for locks, and foreground commands will not.
never
The "never" setting says that no command should ever wait for locks. If the command would wait, it will exit with status 1.

This user preference can be over-ridden by the -wait and -nowait command line options.

symbolic_link_preference = (verify, assume);
This field is consulted by aeb(1) when the project configuration file specifies create_symbolic_links_before_build as true. The verification of the links can be quite time consuming; if you are confident that they are already correct (say, from a recent build run) you may wish to assume they are correct and not verify them repeatedly.
verify
This setting says to always verify the symbolic links to the baseline. This is the default.
assume
This setting says to always assume the links are correct, unless there has been a recent integration.

This user preference can be over-ridden by the -Verify_Symbolic_Links and -Assume_Symbolic_Links command line options.

relative_filename_preference = (current, base);
This field is consulted by most commands which accept filenames on the command line. It controls whether relative filenames are relative to the current directory (this is the default), or relative to the base of the project source tree.
current
This setting says to interpret relative filenames against the current directory.
base
This setting says to interpret relative filenames against the base of the source tree.

This user preference can be over-ridden by the -BAse_RElative and -CUrrent_RElative command line options.

email_address = string;
This field may be used to set the preferred email address. If not set, defaults to CW]`whoami`@`cat /etc/mailname` if not set, and if /etc/mailname exists. Otherwise, defaults to CW]`whoami`@`hostname` if not set, which is usually not what is required, particularly if you are behind a firewall.
whiteout_preference = (always, never);
All of the commands which cause a change to remove files will consult this field to determine if the file should be have a dummy "whiteout" file put in the development directory. Defaults to ``always'' if not set.
editor_command = string;
This command is used to edit a file, if the editing is being done in the background. Defaults to the EDITOR environment variable if not set, or "ed" if not set.
visual_command = string;
This command is used to edit a file, if the editing is being done in the foreground. Defaults to the VISUAL environment variable if not set, or to the EDITOR environment variable if not set, or "vi" if not set.
pager_command = string;
This is the command used to paginate report and listing output. Defaults to the PAGER environment variable if not set, or to "more" if not set.
attribute = [ { ... } ];
This is a list of (name,value) pairs, defining user specified attributes.
name = string;
The name of the attribute. By convention, names which start with an upper-case letter will appear in listings, and lower-case will not. Attribute names are case-insensitive.
value = string;
The value of the attribute.

Arguably, most user attributes which may be altered by the user (and some that can't) should be of this form. Due to an accident of history, this is not the case.

SEE ALSO

aegis(5)
file format syntax
aed(1)
difference and merge files

COPYRIGHT

version

Copyright Peter Miller; All rights reserved.

The program comes with ABSOLUTELY NO WARRANTY; for details use the ' -VERSion License' command. This is free software and you are welcome to redistribute it under certain conditions; for details use the ' -VERSion License' command.

AUTHOR

tab(;); l r l. Peter Miller;E-Mail:;millerp@canb.auug.org.au CW/\/\*;WWW:;http://www.canb.auug.org.au/~millerp/