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

FreeBSD Manual Pages

  
 
  

home | help
aepstate(5)		      File Formats Manual		   aepstate(5)

NAME
	aepstate - aegis project state file

SYNOPSIS
	project/info/state

DESCRIPTION
	The project/info/state file is used to store state information about a
	project.

	This  file is maintained by aegis and thus should not be edited	by hu-
	mans.

CONTENTS
	next_test_number = integer;
		Each test is numbered uniquely	across	all  branches  of  the
		project.  The name is of the form t[0-9][0-9][0-9][0-9][am].sh
		('a' for automatic and 'm' for manual.)

   Almost Obsolete Fields
	The  following	fields are obsolete.  They will	persist	until the next
	aenrls(1), and the new project so generated will use  them  to	define
	its default branching.

	version_major =	integer;
		The  major version number of this release of the project.  Al-
		ways one or more.

	version_minor =	integer;
		The minor version number of this release of the	project.   Al-
		ways zero or more.

   Obsolete Fields
	The  following fields are obsolete.  They are only present in projects
	which have yet to be converted to the new branch format.   When	 Aegis
	sees them, they	will be	moved into the "trunk" transaction.

	description = string;
		This  field  contains  a  description  of  the project.	 Large
		amounts	of prose are not required; a  single  line  is	suffi-
		cient.

	owner_name = string;
		This field is ignored.

	group_name = string;
		This field is ignored.

	developer_may_review = boolean;
		If  this  field	 is  true, then	a developer may	review her own
		change.	 This is probably only a good  idea  for  projects  of
		less  than 3 people.  The idea is for as many people as	possi-
		ble to critically examine a change.

	developer_may_integrate	= boolean;
		If this	field is true, then a developer	may integrate her  own
		change.	  This	is  probably  only a good idea for projects of
		less than 3 people.  The idea is for as	many people as	possi-
		ble to critically examine a change.

	reviewer_may_integrate = boolean;
		If  this field is true,	then a reviewer	may integrate a	change
		she reviewed.  This is probably	only a good idea for  projects
		of less	than 3 people.	The idea is for	as many	people as pos-
		sible to critically examine a change.

	developers_may_create_changes =	boolean;
		This field is true if developers may created changes, in addi-
		tion to	administrators.	 This tends to be a very useful	thing,
		since developers find most of the bugs.

	forced_develop_begin_notify_command = string;
		This  command  is used to notify a developer that a change re-
		quires developing; it is issued	when a	project	 administrator
		uses an	aedb -User command to force development	of a change by
		a  specific  user.   All of the	substitutions described	in ae-
		sub(5) are available.  This field is optional.

		Executed as: the new developer.	 Current directory: the	devel-
		opment directory of the	change for the	new  developer.	  Exit
		status:	ignored.

	develop_end_notify_command = string;
		This  command is used to notify	that a change is ready for re-
		view.  It will probably	use mail, or it	could be  an  in-house
		bulletin board.	 This field is optional, if not	present	no no-
		tification  will be given.  This command could also be used to
		notify other management	systems, such as progress  and	defect
		tracking.   All	of the substitutions described by aesub(5) are
		available.

		Executed as: the developer.  Current directory:	 the  develop-
		ment directory of the change.  Exit status: ignored.

	develop_end_undo_notify_command	= string;
		This  command  is  used	to notify that a change	had been with-
		drawn from review for further development.  It	will  probably
		use  mail,  or	it  could be an	in-house bulletin board.  This
		field is optional, if not  present  no	notification  will  be
		given.	 This  command could also be used to notify other man-
		agement	systems, such as progress and defect tracking.	All of
		the substitutions described by aesub(5)	are available.

		Executed as: the developer.  Current directory:	 the  develop-
		ment directory of the change.  Exit status: ignored.

	review_pass_notify_command = string;
		This  command  is used to notify that a	review has passed.  It
		will probably use mail,	or it could be	an  in-house  bulletin
		board.	This field is optional,	if not present no notification
		will  be  given.   This	 command  could	also be	used to	notify
		other management systems, such as progress and	defect	track-
		ing.   All  of	the  substitutions  described  by aesub(5) are
		available.

		Executed as: the reviewer.  Current directory: the development
		directory of the change.  Exit status: ignored.

	review_pass_undo_notify_command	= string;
		This command is	used to	notify that a review has  passed.   It
		will  probably	use  mail, or it could be an in-house bulletin
		board.	This field is optional,	if not present no notification
		will be	given.	This command could  also  be  used  to	notify
		other  management  systems, such as progress and defect	track-
		ing.  Defaults to  the	same  action  as  the  develop_end_no-
		tify_command field.  All of the	substitutions described	by ae-
		sub(5) are available.

	review_fail_notify_command = string;
		This  command  is used to notify that a	review has failed.  It
		will probably use mail,	or it could be	an  in-house  bulletin
		board.	This field is optional,	if not present no notification
		will  be  given.   This	 command  could	also be	used to	notify
		other management systems, such as progress and	defect	track-
		ing.   All  of	the  substitutions  described  by aesub(5) are
		available.

		Executed as: the reviewer.  Current directory: the development
		directory of the change.  Exit status: ignored.

	integrate_pass_notify_command =	string;
		This command is	used to	notify that an integration has passed.
		It will	probably use mail, or it could be an in-house bulletin
		board.	This field is optional,	if not present no notification
		will be	given.	This command could  also  be  used  to	notify
		other  management  systems, such as progress and defect	track-
		ing.  All of  the  substitutions  described  by	 aesub(5)  are
		available.

		Some  compilers	bury absolute path names into object files and
		executables.  The renaming of the integration directory	to be-
		come the new baseline breaks these  paths.   This  command  is
		passed	an  environment	 variable  called  AEGIS_INTEGRATION_-
		DIRECTORY so that the appropriate symlink may  be  placed,  if
		desired.

		Executed  as:  the  project owner.  Current directory: the new
		project	baseline.  Exit	status:	ignored.

	integrate_fail_notify_command =	string;
		This command is	used to	notify that an integration has failed.
		It will	probably use mail, or it could be an in-house bulletin
		board.	This field is optional,	if not present no notification
		will be	given.	This command could  also  be  used  to	notify
		other  management  systems, such as progress and defect	track-
		ing.  All of  the  substitutions  described  by	 aesub(5)  are
		available.

		Executed  as: the integrator.  Current directory: the develop-
		ment directory of the change.  Exit status: ignored.

	default_development_directory =	string;
		The pathname of	where to place	new  development  directories.
		The  pathname  must be absolute.  This field is	only consulted
		if the field of	the same name in the user  configuration  file
		is not set.

	umask =	integer;
		File permission	mode mask.  See	umask(2) for more information.
		This  value  will  always  be OR'ed with 022, because aegis is
		paranoid.

	default_test_exemption = boolean;
		This field contains what to do when a change is	 created  with
		no test	exemption specified.

	copyright_years	= [ integer ];
		This  field  contains  a  list	of copyright years, for	use in
		copyright notices, etc.	 It is updated	each  integrate_begin,
		if  necessary,	to include the current year.  Available	as the
		${Copyright_Years} substitution, and included in  the  version
		listing.

	next_change_number = integer;
		Changes	 are  numbered	sequentially  from  one.   This	 field
		records	the next unused	change number.

	next_delta_number = integer;
		Deltas are numbered sequentially from one.  This field records
		the next unused	delta number.

	src = [	{ ... }	];
		If you are writing a report, see aefstate(5) for  the  current
		documentation  for  this field.	 This field is a list of files
		in the project.	 Each list item	has the	form:

		file_name = string;
			The name of the	file, relative to the baseline.

		usage =	(source, config, build,	test, manual_test);
			What the file is for.

		edit_number = string;
			The edit number	of the file.

		locked_by = integer;
			The change which locked	this file.
			Caveat:	this field is redundant, you can figure	it out
			by scanning all	of he change files.  Having it here is
			very convenient, even though  it  means	 multiple  up-
			dates.

		about_to_be_created_by = integer;
			The  change which is about to create this file for the
			first time.  Same caveat as above.

		deleted_by = integer;
			The change which last deleted  this  file.   We	 never
			throw  them away, because (a) it may be	created	again,
			and more important (b) we need it to recreate  earlier
			deltas.

	history	= [{ ... }];
		This field contains a history of integrations for the project.
		Updated	by each	successful 'aegis -Integrate_Pass' command.

		delta_number = integer;
			The delta number of the	integration.

		change_number =	integer;
			The number of the change which was integrated.

		name = [ string	];
			The names by which this	delta is known.

	change = [integer];
		The list of changes which have been created to date.

	administrator =	[string];
		The list of administrators of the project.

	developer = [string];
		The list of developers of the project.

	reviewer = [string];
		The list of reviewers of the project.

	integrator = [string];
		The list of integrators	of the project.

	currently_integrating_change = integer;
		The  change  currently	being  integrated.   Only  one	change
		(within	a project) may be integrated at	a time.	 Only set when
		an integration is in progress.

	version_major =	integer;
		The major version number of this release of the	project.   Al-
		ways one or more.

	version_minor =	integer;
		The  minor version number of this release of the project.  Al-
		ways zero or more.

	version_previous = string;
		The version number this	project	was derived from.  This	is  of
		most use when producing	"patch"	files.

WRITING	REPORT SCRIPTS
	When  attempting to access these fields	from within the	report genera-
	tor, you need a	code fragment similar to the following:
		auto ps;
		ps = project[project_name()].state;
	All of the fields mentioned in the man page can	 now  be  accessed  as
	members	of the ps variable.

	When  you  access  the	branch	field, you obtain access to the	change
	state of the branch.  Even the trunk has one of	these, it just doesn't
	have a number, and it is perpetually being developed.

	When you index the branch.change field by a change number, you	obtain
	access to the change state of that change.

	When  you index	the branch.src field by	a filename string, you may ob-
	tain access the	the relevant project file state	(see  aefstate(5)  for
	more information).

	In  addition  to the above fields, the report generator	inserts	a name
	field containing the project name, and a  directory  field  containing
	the project directory path.

SEE ALSO
	aenpr(1)
		create a new project

	aegis(5)
		aegis file format syntax

	aepattr(5)
		project	attributes file	format

	aecstate(5)
		change state file

	aefstate(5)
		file state file

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/

Reference Manual		     Aegis			   aepstate(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=aepstate&sektion=5&manpath=FreeBSD+Ports+14.3.quarterly>

home | help