NAME
aegis new project - create a new project
SYNOPSIS
aegis -New_PRoject project-name [ option... ]
aegis -New_PRoject -List [ option... ]
aegis -New_PRoject -Help
DESCRIPTION
The aegis -New_PRoject command is used to create a new project. The
project is created as an empty directory structure with no staff except
the administrator, no changes, and branches to implement the version
specified.
Please note: unless you specify a version (see the -version option,
below) this command will default to creating branches to support
version 1.0. If you discovered this too late, all is not lost: you can
use the aenbru(1) command to get rid of the branches you didn’t want.
Directory
The project directory, under which the project baseline and history and
state and change data are kept, will be created at this time. If the
-DIRectory option is not given, the project directory will be created
in the directory specified by the default_project_directory field of
aeuconf(5), or if not set in current user’s home directory; in either
case with the same name as the project.
Staff
The project is created with the current user and group as the owning
user and group. The current user is an administrator for the project.
The project has no developers, reviewers, integrators or other
administrators. The project’s umask is derived from the current user’s
umask, but guaranteeing that group members will have access and that
only the project owner will have write access.
Pointer
The project pointer will be added to the first element of the search
path, or /var/lib/aegis if no path is set. If this is inappropriate,
use the -LIBrary option to explicitly set the desired location. See
the -LIBrary option for more information.
Version
You may specify the project version in two ways:
1. The version number may be implicit in the project name, in which
case the version numbers will be stripped off. For example, “aenpr
example.1.2” will create a project called “example” with branch
number 1 created, and sub-branch 2 of branch 1 created.
2. The version number may be stated explicitly, in which case it will
be subdivided for branch numbers. For example, “aenpr example
-version 1.2” will create a project called “example” with branch
number 1 created, and sub-branch 2 of branch 1 created.
In each case, these branches may be named wherever a project name may
be given, such as “-p example.1” and “-p example-1.2”. The actual
punctuation character is unimportant.
You may have any depth of version numbers you like. Both methods of
specifying version numbers may be used, and they will be combined. If
you want no version numbers at all, use -version with a single dash as
the argument, as in “-version -”
If no version number is given, either explicitly or implicitly, version
1.0 is used.
Project Directory Location
Please Note: Aegis also consults the underlying file system, to
determine its notion of maximum file size. Where the file system’s
maximum file size is less than maximum_filename_length, the filesystem
wins. This can happen, for example, when you are using the Linux
UMSDOS file system, or when you have an NFS mounted an ancient V7
filesystem. Setting maximum_filename_length to 255 in these cases does
not alter the fact that the underlying file systems limits are far
smaller (12 and 14, respectively).
If your development directories (or your whole project) is on
filesystems with filename limitations, or a portion of the
heterogeneous builds take place in such an environment, it helps to
tell Aegis what they are (using the project config file’s fields) so
that you don’t run into the situation where the project builds on the
more permissive environments, but fails with mysterious errors in the
more limited environments.
If your development directories are routinely on a Linux UMSDOS
filesystem, you would probably be better off setting
dos_filename_required = true, and also changing the
development_directory_template field. Heterogeneous development with
various Windows environments may also require this.
OPTIONS
The following options are understood:
-DIRectory path
This option may be used to specify which directory is to be
used. It is an error if the current user does not have
appropriate permissions to create the directory path given.
This must be an absolute path.
Caution: If you are using an automounter do not use ‘pwd‘ to
make an absolute path, it usually gives the wrong answer.
-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.
-Help
This option may be used to obtain more information about how to
use the aegis program.
-Keep This option may be used to re-attach a project detached using
aermpr -keep and possibly moved by the system administrator.
-LIBrary abspath
This option may be used to specify a directory to be searched
for global state files and user state files. (See aegstate(5)
and aeustate(5) for more information.) Several library options
may be present on the command line, and are search in the order
given. Appended to this explicit search path are the
directories specified by the AEGIS_PATH environment variable
(colon separated), and finally, /usr/local/lib/aegis is always
searched. All paths specified, either on the command line or
in the AEGIS_PATH environment variable, must be absolute.
-List
This option may be used to obtain a list of suitable subjects
for this command. The list may be more general than expected.
-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.
-VERSion number
This option may be used to specify the version number for the
project. Version numbers are implemented as branches. Use a
single dash (“-”) as the argument if you want no version
branches created.
-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 aenpr ’aegis -npr \!* -v’
sh$ aenpr(){aegis -npr "$@" -v}
ERRORS
It is an error if the project name already exists.
It is an error if the project directory already exists.
It is an error if the current user does not have sufficient permissions
to create the directory specified with the -DIRectory option.
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
aena(1) add a new administrator to a project
aenbru(1)
Remove a new branch. This can often be useful if aenpr(1)
created some default branches for you, and now you want to get
rid of them.
aenc(1) add a new change to a project
aend(1) add a new developer to a project
aenrls(1)
create a new project from an existing project
aenrv(1)
add a new reviewer to a project
aermpr(1)
remove project
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/