aedir(5)

NAME
aedir - directory structures

DESCRIPTION
The project directory structure is dictated by at the top level, but is completely under the project's control from various points below the top level.

The project directory has the following contents project/
    baseline/
        config
        ...project specific...
        test/
            [0-9][0-9]/
                t[0-9][0-9][0-9][0-9]a.sh
                t[0-9][0-9][0-9][0-9]m.sh
    history/
        ...echo of baseline...
    delta.[0-9][0-9][0-9]/
        ...echo of baseline...
    info/
        state
        change/
            [0-9]/
                [0-9][0-9][0-9]

The directory is structured in this way so that it is possible to pick an entire project up off the disk, and be confident that you got it all.

The location of the root of this tree is configurable, and may even be changed during the life of a project.

The contents of the baseline subdirectory, other than those given, are defined by the project, and not dictated by .

The contents of the delta.NNN directory, when it exists, are an image of the baseline directory. It is frequently linked with the baseline, rather than a copy of it; see the link_integration_directory field description in aepconf(5) for more information.

The contents of the history contains the edit histories of the baseline directory, and is in all other ways an image of it. Note that baseline always contains the latest source; the history directory is just history. The actual files in the history directory tree will not always have names the same as those in the baseline; compare the methods used by SCCS and RCS.

The contents of the baseline/test directory are the tests which are created by changes. Test histories are also stored in the history subdirectory. Tests are treated as project source.

The edit histories are separated out to simplify the task of taking a "snapshot" of the source of a project, without airing all the dirty laundry.

The baseline directory always contains the latest source, and so the history directory need not be readily accessible, because the build mechanism (something like make(1), but preferably better) does not need to know anything about it. Similarly for tests.

The baseline/config file is used to tell everything else it needs to know about a project. See aepconf(5) for more information. This file is a source file of the project, and is treated in the same way as all source files.

SEE ALSO

aenc(1)
    create a new change

aenpr(1)
    create a new project

aegis(5)
    file format syntax

aepconf(5)
    project configuration file format