Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
aegis -New_ReLeaSe(1)	    General Commands Manual	 aegis -New_ReLeaSe(1)

NAME
	aegis new release - create a new project from an old-style project.

SYNOPSIS
	aegis -New_ReLeaSe project-name	[ new-project-name ][ option...	 ]
	aegis -New_ReLeaSe -List [ option...  ]
	aegis -New_ReLeaSe -Help

DESCRIPTION
	The aegis -New_ReLeaSe command is used to create a new project from an
	existing project.  It creates a	new post-3.0 project from an old
	pre-3.0	project.

	Please Note: If	your old-style project does not	have a version number
	in the project name, you must supply a new project name, otherwise you
	will get an error.  (If	you want to re-use the old project name, you
	need to	rename the old project,	and then use aenrls to create a	new
	new-style project with the old name.  See the HOWTO for	how to change
	a project's name.)

	This command was essential before the introduction of branches into
	the Aegis model.  It is	more useful to create a	new release of a
	project	by ending development on the branch of the previous release
	and starting development of a new branch numbered for the desired re-
	lease.

	Once you have a	new-style project, use the aenbr(1) command to create
	new branches on	this project.  This provides more efficient release
	management, and	allows historical versions to be reproduced more sim-
	ply.

	If no new-project-name is specified, it	will be	derived	from the
	project	given as follows: any minor version dot	suffix will be removed
	from the name, then any	major version dot suffix will be removed from
	the name.  A major version dot suffix will be appended,	and then a mi-
	nor version dot	suffix will be appended.  As an	example, "foo.1.0"
	would become "foo.1.1" assuming	the default minor version increment,
	and "foo" would	become "foo.1.1" assuming the same minor version in-
	crement.

	The entire project baseline will be copied.  The project state will be
	as if change 1 had already been	integrated, naming every file (in the
	old project) as	a new file.  The history files will reflect this.  No
	build will be necessary; it is assumed that the	old baseline was built
	successfully.  Change numbers will commence at 2, as will build	num-
	bers.  Test numbers will commence where	the old	project	left off (be-
	cause all the earlier test numbers were	used by	the old	project).

	The default is for the minor version number to be incremented.	If the
	major version number is	incremented or set, the	minor version number
	will be	set to zero if it is not explicitly given.

	The pointer to the new project will be added to	the first element of
	the search path, or /usr/local/com if none is set.  If this is inap-
	propriate, use the -LIBrary option to explicitly set the desired loca-
	tion.  See the -LIBrary	option for more	information.

	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 cre-
	ated in	the directory specified	by the default_project_directory field
	of the project user's aeuconf(5), or if	not set	in project user's home
	directory; in either case with the same	name as	the project.

	All staff will be copied from the old project to the new project with-
	out change, as will all	of the project attributes.

THE BASELINE LOCK
	The baseline lock is used to ensure that the baseline remains in a
	consistent state for the duration of commands which need to read the
	contents of files in the baseline.

	The commands which require the baseline	to be consistent (these	in-
	clude the aeb(1), aecp(1) and aed(1) commands) take a baseline read
	lock.  This is a non-exclusive lock, so	the concurrent development of
	changes	is not hindered.

	The command which modifies the baseline, aeipass(1), takes a baseline
	write lock.  This is an	exclusive lock,	forcing	aeipass(1) to block
	until there are	no active baseline read	locks.

	It is possible that one	of the above development commands will block
	until an in-progress aegis -Integrate_PASS completes.  This is usually
	of short duration while	the project history is updated.	 The delay is
	essential so that these	commands receive a consistent view of the
	baseline.  No other integration	command	will cause the above develop-
	ment commands to block.

	When aegis' branch functionality is in use, a read (non-exclusive)
	lock is	taken on the branch baseline and also each of the "parent"
	baselines.  However, a baseline	write (exclusive) lock is only taken
	on the branch baseline;	the "parent" baselines are only	read (non-ex-
	clusive) locked.

   Project Directory Location
	Please Note: Aegis also	consults the underlying	file system, to	deter-
	mine 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 filesys-
	tems 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 en-
	vironments.

	If your	development directories	are routinely on a Linux UMSDOS
	filesystem, you	would probably be better off setting dos_filename_re-
	quired = 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	appro-
		priate 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.

	-Help
		This option may	be used	to obtain more information about how
		to use the aegis program.

	-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	op-
		tions 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	vari-
		able (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	abso-
		lute.

	-List
		This option may	be used	to obtain a list of suitable subjects
		for this command.  The list may	be more	general	than expected.

	-Not_Logging
		This option may	be used	to disable the automatic logging of
		output and errors to a file.  This is often useful when	sev-
		eral aegis commands are	combined in a shell script.

	-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 number are implemented as branches.  Use the
		empty string 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.  De-
		faults 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 op-
	tional.	 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	inter-
	preted 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	"--op-
	tion=value" convention is also understood.

RECOMMENDED ALIAS
	The recommended	alias for this command is
	csh%	alias aenrls 'aegis -nrls \!* -v'
	sh$	aenrls(){aegis -nrls "$@" -v}

ERRORS
	It is an error if the old project named	does not exist.

	It is an error if the old project named	has not	yet had	any changes
	integrated.

	It is an error if the old project named	has any	changes	not in the
	completed state.

	It is an error if the current user is not an administrator of the old
	project.

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	er-
	rors.

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
	aenpr(1)
		create a new project

	aermpr(1)
		remove project

	aeuconf(5)
		user configuration file	format

COPYRIGHT
	aegis version 4.25.D510
	Copyright (C) 1991, 1992, 1993,	1994, 1995, 1996, 1997,	1998, 1999,
	2000, 2001, 2002, 2003,	2004, 2005, 2006, 2007,	2008, 2009, 2010,
	2011, 2012 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:	 pmiller@opensource.org.au
	/\/\*		  WWW:	 http://miller.emu.id.au/pmiller/

	Aegis User Guide
		The chapter on Branching has useful information	about releases
		and branching.

Reference Manual		     Aegis		 aegis -New_ReLeaSe(1)

NAME | SYNOPSIS | DESCRIPTION | THE BASELINE LOCK | OPTIONS | RECOMMENDED ALIAS | ERRORS | EXIT STATUS | ENVIRONMENT VARIABLES | SEE ALSO | COPYRIGHT | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=aenrls&sektion=1&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help