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¶