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

FreeBSD Manual Pages

  
 
  

home | help
aesvt(1)							      aesvt(1)

NAME
	aesvt -	simple version tool

SYNOPSIS
	aesvt -CHeck_Out -HIstory file -File output-file [ -e edit ]
	aesvt  -CHeck_In  -HIstory  file  -File	 input-file  [	-e  edit  ]  [
	name=value ...]
	aesvt -List -HIstory file
	aesvt -Query -HIstory file
	aesvt -Version

DESCRIPTION
	The aesvt program may be used to manage	history	version	 files.	  This
	is  a minimalist history tool, which makes no provision	for managing a
	work area.

	It is able to cope with	binary files, and with reasonable  efficiently
	if they	are not	too large.

	It has good end-to-end properties because it keeps a checksum for each
	file version, and a checksum for the whole history file.

	There  is no provision for keyword substitution	of any kind.  A	check-
	out will exactly reproduce the input file.  A check-in will never  al-
	ter the	input file.

OPTIONS
	The following options are understood:

	-History history-file
		This option is used to specify the name	of the history file.

	-File file-name
		This option is used to specify the name	of the input or	output
		file.	On  check-out, the file	name "-" is understood to mean
		the standard output.  There is no equivalent for check-in.

	-Edit edit-number
		This option is used to specify the edit	number	(version  num-
		ber).	On  check-out,	if no version number is	specified, the
		most recent version is given.  On check-in, if no version num-
		ber is specifiued (and it usually isn't), the previous version
		will have one added to it, or version 1	will be	used  if  this
		is the first check-in.

	-CHeck_In
		This option is used to check a file into the history.

	-CHeck_Out
		This option is used to check-out a file	from the history.

	-compression-algorithm name
		This option may	be used	to specify the compression to be used.
		They are listed	on order of compression	effeciency.

		none	Use no compression (not	always meaningful for all com-
			mands).

		gzip	Use the	compression used by the	gzip(1)	program.

		bzip2	Use the	compression used by the	bzip2(1) program.

		More compression algorithms may	be added in the	future.

	-COMPress
		This  option  is deprecated in favour of the -comp-alg=gzip or
		-comp-alg=bzip2	options.

	-No_COMPress
		This options is	deprecated in favour of	the -comp-alg=none op-
		tion.

	-List	This option is used to list the	file's history.

	-Query	This option is used to query edit number of most recent	check-
		in.

	-Version
		This option is used to print version number.

	All other options will produce a diagnostic error.

	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
	aesvt are long,	this means ignoring the	extra leading '-'.  The	"--op-
	tion=value" convention is also understood.

EXIT STATUS
	The  aesvt  command  will  exit	 with a	status of 1 on any error.  The
	aesvt 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.

FILE FORMAT
	Each  version  in  the history file consists of	an RFC822 header, plus
	the file contents.  The	header includes	(at least) the Content-Length,
	used to	remember the length of the file	data in	bytes;	the  Checksum,
	used  to  remember the Adler32 checksum	of the file data; and Version,
	used to	remember the version number.  The file data can	be text	or bi-
	nary, because its length is determined by the  header.	 There	is  no
	quoting	 mechanism of any kind for the data.  Except for the mandatory
	fields,	additional user-defined	us-ascii meta-data may also be	stored
	in the header.	There is no diff or delta of any kind for any version.

	This combination of header and data has	good end-to-end	behaviour, be-
	cause  there  is  a  checksum  to validate the file data against.  Bad
	blocks in the data will	be detected  then  next	 time  a  check-in  or
	check-out is attempted.

	The  format  of	the history file consists of one or more file versions
	with the above layout,	joined	head-to-tail  with  no	separators  or
	boundary  indicators  of any kind.  The	versions are in	descending or-
	der, from most recent (greatest	edit number) to	least recent  (version
	number	one).	To determine where one version stops and the next ver-
	sion starts, use the Content-Length field in the header.   The	entire
	history	 file  is  then	 compressed  using  the	bunzip2	algorithm (via
	libbz2).  There	is no diff or delta of any kind	in the history file.

	The advantage of compressing the file is that there is usually a  very
	high  redundancy between file versions.	 For example, if two identical
	versions are checked in	(not necessarily sequentially) the second copy
	will compress to only a	few bytes.  Unlike diff(1) style deltas,  this
	also  copes very will with moving blocks of data within	the file.  The
	use of bunzip2 formatting means	there is also a	checksum for the whole
	history	file, which allows you to detect bad blocks in the header por-
	tions; it also means there is a	simple way to extract the data from  a
	history	 file  even  without the aesvt program,	or for testing,	or be-
	cause you are curious.

	You can	actually choose	from a number of compression  algorithms,  in-
	cluding	 GNU  Zip  and bunzip2,	via the	-compression-algorithm option.
	More copmpresison algoritthms may be added in the  future.   The  best
	available comression is	used, because this results in the most compact
	history	files.	Future versions	will always be able to access the com-
	pression used by earlier versions.

   End-To-End Issues
	See also Saltzer, J.H. et al (1981) End-to-end arguments in system de-
	sign,		http://web.mit.edu/Saltzer/www/publications/endtoend/-
	endtoend.pdf

   Xdelta
	This style of history file was inspired	 by  RFC  3284	-  The	VCDIFF
	Generic	 Differencing  and  Compression	 Data Format.  While the aesvt
	format does not	use RFC3284 internally,	the arguments for  compression
	across file versions are just as relevant.

COPYRIGHT
	aesvt 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  aesvt  program comes with ABSOLUTELY NO WARRANTY; for details use
	the 'aesvt -VERSion License' command.  This is free software  and  you
	are  welcome  to redistribute it under certain conditions; for details
	use the	'aesvt -VERSion	License' command.

AUTHOR
	Peter Miller   E-Mail:	 pmiller@opensource.org.au
	/\/\*		  WWW:	 http://miller.emu.id.au/pmiller/

Reference Manual		     Aegis			      aesvt(1)

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

home | help