---
name: "aeuconf"
section: "5"
platform: "linux"
package: "aegis"
version: "4.24.3-3"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/aeuconf"
---

# aeuconf(5)

user configuration file

## NAME

aeuconf - user configuration file

## SYNOPSIS

*$AEGIS\_FLAGS*\
 *$HOME*`/.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 aegis, 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 *.aegisrc* 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.

### *$HOME*`/.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)](/aed/1.md)* 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)](/aed/1.md) 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 `PAGER` 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)](/aet/1.md) 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)](/aeb/1.md) 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 `` `whoami`@`cat /etc/mailname` `` if not set, and if */etc/mailname* exists. Otherwise, defaults to `` `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.

    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.

    The attributes known to Aegis are:

    - progress-preference

      boolean; true if [*aet*(1)](/aet/1.md) should emit progress messages, false if not.  Can be overridden with the **-progress** and **-no-progress** command line options.

    FIXME: there needs to be a [*aesub*(5)](/aesub/5.md) way to get at these values.

  - value = string;

    The value of the attribute.

## SEE ALSO

- [*aegis*(5)](/aegis/5.md)

  aegis file format syntax

- [*aed*(1)](/aed/1.md)

  difference and merge files\

## 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/ |
