Mon Jul  1 14:14:06 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* Release of version 1.10; appropriate changes to README.

	* create.c: Removed printf's about sparse files.

	* Fix a misplaced quote in level-0 and change some >& into
	2>&1.

Fri Jun 21 23:04:31 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* list.c (skip_extended_headers): Userec was being called in
	the wrong place.

Thu Jun 20 19:10:35 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)

	* tar.h: Use ANSI prototypes for msg and msg_perror if
	STDC_MSG is defined, even if BSD42 is also.

	* Makefile: Replace DESTDIR with bindir.
	(install): Don't install tar.texinfo.  There's no standard
	place for texinfo files, and /usr/local/man is inappropriate.
	Add TAGS, distclean, and realclean targets and SHELL= line.

	* version.c: Move old change history to bottom of ChangeLog.

Wed Jun 12 12:43:58 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* rtape_lib.c (__rmt_write): #ifdef should reference
	SIGNAL_VOID, not USG.

Wed Jun  5 14:57:11 1991  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* tar.c (name_match, addname): Ugly hack to handle -C without
	any files specified.  
	tar.h (struct name): New field for ugly hack.

Mon Jun  3 14:46:46 1991  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* testpad.c: New file to determine if we need special padding
	in struct header in tar.h.

	* tar.h (struct header): include padding if necessary, include
	testpad.h.

	* Makefile: rules to create testpad.h, etc.

Wed May 22 16:02:35 1991  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* tar.c (options): -L takes an argument.

	* rtape_lib.c (__rmt_open): add /usr/bin/nsh to the list of
	remote shell programs.

	* create.c: define MAXPATHLEN if we don't get it from a system
	header file.

	* create.c (deal_with_sparse): return a real return value if
	we can't open the file.

	* tar.c (long_options): +newer takes an argument.
	(describe): fix printing in various trivial ways

Tue May 21 17:15:19 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* tar.c (long_options): +get and +concatentate don't require arguments

Mon May 20 15:55:30 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* create.c (write_eot): Don't try and write an EOF if we are
	already at one.

	* port.c (strstr): Looking for null string should return zero.

Sun May 19 22:30:10 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* tar.c (options): -l doesn't take an argument

	* Makefile: minor fix for SGI 4D defines from torda@scum.ethz.ch

	* rtape_server.c (main.c): Suggested mod for 386/AIX from
	Minh Tran-Le.  I'm suspicious about this one.

	* create.c (dump_file): Mods from Minh Tran-Le for hidden
	files on AIX.
	gnu.c (collect_and_sort_name, get_dir_contents): AIX hidden file mod.

	* tar.c: (name_next): Mod from David Taylor to allow -C inside
	a file list given to -T.

	* Makefile: Comment describing presence of USE_REXEC.

	* extract.c (extract_archive, case LF_SPARSE): zero check for
	last element on numbytes needs to look at value after
	converted from octal.

	* port.c: Don't always demand strstr, check for HAVE_STRSTR
	instead.
	Makefile: Comment describing presence of HAVE_STRSTR option.

Sun May 19 18:39:48 1991  David J. MacKenzie  (djm at churchy.gnu.ai.mit.edu)

	* port.c (get_date): Renamed from getdate, to avoid SVR4 conflict.
	* tar.c: Call get_date instead of getdate.

Fri May 10 02:58:17 1991  Noah Friedman  (friedman at nutrimat)

        * tar.c:  added "\n\" to the end of some documentation strings
          where they were left off.  

Thu May  9 17:28:54 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* Makefile: added level-0, level-1, and backup-specs to AUX.
	* version.c: changed to 1.10 beta.
	* README: updated for 1.10 beta release.

Tue Apr  2 12:04:54 1991  Michael I Bushnell  (mib at godwin)

	* create.c (dump_file): HPUX's st_blocks is in 1024 byte units
	instead of 512 like the rest of the world, so I special cased
	it.
	* tar.c: Undo Noah's changes.

Mon Apr  1 17:49:28 1991  Noah Friedman  (friedman at wookumz.gnu.ai.mit.edu)

        (This ought to be temporary until things are fixed properly. )

        * tar.c: (struct option long_options):  flag for "sparse" zero if
          compiling under hpux. 
          tar.c: (functon options): case 'S' is a no-op if compiling under
          hpux. 

Sat Mar 30 12:20:41 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* tar.h: new variable tape_length.

	* tar.c (options): add new option +tape-length / -L.

	* buffer.c (fl_write): Turn #ifdef TEST code for limited tape
	length on always, for tape-length option.

	* create.c (dump_file): avoid apollo lossage where S_IFIFO == S_IFSOCK.

        * buffer.c: include regex.h
	* buffer.c (fl_read, open_archive): Use regex routines for
	volume header match.
	* xmalloc.c: removed file; wasn't necessary.
	* tar.c: (main) use ck_malloc instead of xmalloc.

Thu Mar 28 04:05:05 1991  Noah Friedman  (friedman at goldman)

        * regex.c, regex.o: New links. 
        * tar.c: include regex.h. 
        * Makefile (OBJ2): Add regex.o.
        (regex.o, tar.o): Depend on regex.h
        (SRC2, AUX): Add the new files.

Sat Mar 23 15:39:42 1991  Noah Friedman  (friedman at wookumz.gnu.ai.mit.edu)

        * Makefile: added default flags and options for compiling under
          hpux.

        * Added files alloca.c and xmalloc.c 

Sat Mar 23 14:35:31 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* port.c: Define WANT_VALLOC in HPUX.

Fri Mar 15 06:20:15 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)

	* rtape_lib.c: If USG and not HAVE_MTIO, define NO_RMTIOCTL
	automatically.
	(_rmt_rexec): Temporarily re-open stdin and stdout to
	/dev/tty, to guarantee that rexec() can prompt and read the
	login name and password from the user.
	From pascal@cnam.cnam.fr (Pascal Meheut).
	* Makefile: Mention -DUSE_REXEC.

Fri Mar  8 20:15:11 1991  Michael I Bushnell  (mib at wookumz.ai.mit.edu)

	* tar.h, Makefile:  Makefile CPP macro HAVE_SIZE_T might be
	useful for some people.

	* gnu.c: lstat->stat define where appropriate

	* buffer.c (fl_write): keep track of amount written for +totals.
	* tar.c, tar.h: set flag f_totals from +totals option
	* tar.h (f_totals, tot_written): new variables
	* tar.c (main): print total written with CMD_CREATE

	* tar.c (main): return appropriate exit status

Thu Jan 17 00:50:21 1991  David J. MacKenzie  (djm at apple-gunkies)

	* port.c: Remove a spurious `+' between functions (a remnant
	of a context diff, apparently).

Wed Jan  9 19:43:59 1991  Michael I Bushnell  (mib at pogo.ai.mit.edu)

	* create.c (where_is_data): Rewritten to be better, and then
	#ifdef-ed out.
	(deal_with_sparse): Severly pruned.  Now we write or don't
	write only complete blocks, not worrying about partial blocks.
	This simplifies calculations, removes bugs, and elides the
	second scan through the block.  The first was zero_record, the
	second was where_is_data.

Mon Jan  7 17:13:29 1991  Michael I Bushnell  (mib at wookumz.ai.mit.edu)

	* create.c (deal_with_sparse): Second computation (for short
	reads) of numbytes increment had subtraction backwards.
	Need to handle calling where_is_data better when we did a
	short read (it might go past the end of the read), also, set
	sparsearray[...].offset in this case too.

Fri Jan  4 12:24:38 EST 1991	Jay Fenlason (hack@ai.mit.edu)

	* buffer.c  Return a special error code if the archive you're
	trying to read starts with a different label than the one specified
	on the command line.

Wed Jan  2 12:05:21 EST 1991	Jay Fenlason (hack@ai.mit.edu)

	* gnu.c  Prepend the current directory to the gnu_dumpfile, so that
	-C's won't affect where the output goes. (sigh.)

Tue Dec 18 18:05:59 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	* (gnu.c)  Don't complain if the gnudumpfile we're reading info
	from doesn't exist.

	* create.c  Write out gnudumpfile after finishing writing the archive.

	* tar.c  Add +exclude FNAME, and make +exclude-from do what +exclude
	used to.

		Make +version an operation, not an option.

		add +confirmation alias for +interactive.

Tue Dec  4 13:28:08 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	* tar.c (check_exclude)  Don't let MUMBLE match MUMBLE.c or fooMUMBLE
	but only foo/MUMBLE

	* Add the name mangler (mangle.c, plus changes to create.c and
	extract.c)

	* extract.c  Three small patches from Chip Salzenberg
	(tct!chip@uunet.uu.net)

		Don't complain when extracting a link, IFF it already exists.

		Don't complain when extracting a directory IFF it already
		exists.

		Don't ad u+wx to directories when running as root.

	* gnu.c  Some changes from Chip Salzenberg to make
	+listed-incremental work.

	* port.c Add the F_FREESP emulation of the ftruncate syscall.

Wed Nov 21 15:57:07 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	Remove excess \n from lots of msg() calls.

Mon Nov 19 14:09:43 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	* tar.c  Rename +volume to +label

Fri Nov 16 15:43:44 1990  David J. MacKenzie  (djm at apple-gunkies)

	* tar.c (describe): Include the default values for -b and -f
	(as set in the Makefile) in the message.

Thu Nov 15 13:36:45 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	* extract.c (extract_archive)  Do the utime() call before the
	chmod() call, 'cuz some versons of utime() trash the file's mode
	bits.

	* list.c (read_and)	Call do_something on volume headers and
	multivol files even if they don't match the names we're looking for,
	etc. . .

Tue Nov  6 13:51:46 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	* port.c (un-quote-string)	Don't try to write a null
	if there's already one there.

Thu Nov  1 14:58:57 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	* buffer.c  (new_volume) fflush(msg_file) before reading for
	confirmation on new volume.  On EOF or error, print error msg and
	abort.

Mon Oct 29 12:06:35 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	* getdate.y	Use new version of getdate().

	* tar.c (name_add) Use sizeof(char *) instead of sizeof(int)

	* README give the correct return address.

Thu Oct 25 16:03:58 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	rtape_lib.c	Change RMTIOCTL to NO_RMTIOCTL, so it is on by default.

	rmt.h		Add _isrmt() #define for NO_REMOTE case.

	gnu.c		Add forward reference for add_dir_name().

Tue Oct 16 11:04:52 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	1.09	New -G file implementation of gnu-dump stuff.

	* tar.c  (name_add)  Get the calls to ck_realloc and ck_malloc right.

Thu Oct 11 11:23:38 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* gnu.c  Fix A couple of typos.

Wed Sep 19 13:35:03 1990  David J. MacKenzie  (djm at apple-gunkies)

	* getdate.y [USG] (ftime): Use `daylight' unless
	DAYLIGHT_MISSING is defined.

Mon Sep 17 18:04:21 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* gnu.c (gnu_restore)  Don't use a passed char* for the
	file name, use skipcrud+head->header.name, just like everything
	else does.  This means that gnu_restore will still work with
	small buffers, etc.

Thu Sep 13 15:01:17 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* tar.c (add_exclude)  Don't bus-error if the exclude file doesn't
	end with a newline.

Sun Sep  9 22:35:27 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* Makefile (dist): Remove .fname when done.

Thu Sep  6 12:48:58 EDT 1990	Jay Fenlason (hack@ai.mti.edu)

	* gnu.c (gnu_restore) Rember to skip_file() over the directory
	contents, even if we don't have to do anything with them.

	* create.c extract.c diffarch.c  Free sparsearray after we're done
	with it.

Tue Sep  4 10:18:50 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* Makefile  Include gnu.c in dist

	* gnu.c move add_dir above read_dir_file so that cc doesn't complain
	about add_dir returning void.

Sun Sep  2 20:46:34 1990  David J. MacKenzie  (djm at apple-gunkies)

	* getdate.y: Declare some more functions and add storage
	classes where omitted to shut compiler up.
	[USG] (ftime): Don't use extern var `daylight'; appears that
	some systems don't have it.

Wed Aug 29 00:05:06 1990  David J. MacKenzie  (djm at apple-gunkies)

	* getdate.y (lookup): In the code that allows `Aug.' to be
	recognized as `Aug', don't chop off the final `.' from words
	like `a.m.', so they can be recognized.

Thu Aug 16 11:34:07 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* buffer.c (open_archive)  If -O, write verbosity to stderr
	instead of stdout.

Fri Aug 10 12:29:28 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* getdate.y  Handle an explicit DST in the input string.
	A dozen line patch from Per Foreby (perf@efd.lth.se).

Mon Jul 16 13:05:11 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* tar.c  rename -g -G +incremental, +listed-imcremental, etc.

Fri Jul 13 14:10:33 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* tar.c  Make +newer and +newer-mtime work according to their names.

	* gnu.c  If +newer or +newer-mtime, use the time specified on the
	command line.

	* buffer.c, create.c  Add test to see if dimwit is trying to
	archive the archive.

	* tar.c  (long_options[]) re-ordered, so that groups of similar
	options are next to each other. . .  I think.

		(describe)  Modified to more closely reflect reality.

Fri Jul  6 13:13:59 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* tar.c  add compile-time option for SYS V (?) style
	tape-drive names /dev/rmt/{n}[lmh]

	* tar.c  Fix getopt-style stuff so that -C always works correctly.

	* gnu.c, tar.c make filename to -G optional.

	* {all over}, replace some fprintf(stderr...) calls with calls
	to msg().

	* port.c  Make -Dmumble_MSG option on command line override
	internal assumptions.

	* Makefile  Mention -Dmumble_MSG options

Fri Jul  6 02:35:31 1990  David J. MacKenzie  (djm at apple-gunkies)

	* tar.c (options): Don't change `c' if it is 0, as getopt now
	handles that internally.

Mon Jul  2 15:21:13 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* gnu.c  (new file)  Moved all the f_gnudump stuff here where we
	can keep track of it easier.  Also made -G take a file name where it
	stores the inode information about directories so that we can
	detect moved directores.

	* create.c (dump_file)  Changed slightly to work with the new
	f_gnudump.

	* tar.c  Moved the f_gnudump stuff to gnu.c

	* tar.c, extract.c  added the +do-chown option, which forces tar
	to always try to chown the created files to their original owners.

	* version.c  New version 1.09

Sun Jun 24 14:26:28 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* create.c: Change ifdefs for directory library header
	selection to be like the ones in tar.c.
	* Makefile [Xenix]: Link with -ldir to get the dirent.h
	directory library.

Thu Jun  7 03:31:51 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* Makefile, buffer.c, diffarch.c: Change MTIO symbol to HAVE_MTIO
	because SCO Xenix defines 'MTIO' for an incompatible tape driver
	system in a file included by termio.h.
	* tar.h: Don't define size_t for Xenix.

Tue Jun  5 11:38:00 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* create.c (dump_file)  Only print the
	"... is on a different filesystem..." if f_verbose is on.
	also add a case for S_IFSOCK and treat it like a FIFO.
	(Not sure if that's the right thing to do or not, but it's better
	than all those Unknown File Type msgs.)

Thu May 31 19:25:36 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* port.c  Use #ifdef sparc instead of #ifdef SPARC since
	the lowercase version is defined, and the uppercase one isn't.

Tue May 22 11:49:18 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* port.c (ck_malloc)  if size==0 pretend size=1
		(ck_realloc)  if(!ptr) call ck_malloc instead.

Tue May 15 12:05:45 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* diffarch.c (diff_archive)  If not f_absolute_paths, and attempt to
	open a file listed in the archive fails, try /filename also.  This will
	allow diff to open the wrong file if both /filename and filename exist,
	but there's nothing we can do about that.

Fri May 11 16:17:43 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* Makefile, Descripbe new -DMTIO option.

	* buffer.c diffarch.c  Change ifdefs slightly, so that
	-DMTIO will include sys/mtio.h even if USG is defined.
	This is for HUPX and similar BSD/USG crossovers.

Tue May  8 13:14:54 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
	* update.c (update_archive)  Call reset_eof() when appropriate.

	* buffer.c (reset_eof)  New function, that turns of EOF flag, and
	re-sets the ar_record and ar_last pointers.  This will allow
	'tar rf non-existant-file' to not core-dump.

Fri May  4 14:05:31 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* tar.c: Recognize the +sparse option.  It was documented, but
	only the short form (-S) was actually recognized.

Tue Apr 17 21:34:14 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* create.c  Don't access location 0 if ->dir_contents is null.

Wed Apr 11 17:30:03 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* buffer.c (flush_archive, close_archive, new_volume) Always check
	the return value of rmtclose(), and only give a warning msg if it is
	<0.  Some device drivers (including Sun floppy disk, and HP
	streaming tape) return -1 after an IO error (or something like that.)

Fri Mar 23 00:06:30 1990  Jim Kingdon  (kingdon at mole.ai.mit.edu)

	* tar.c (long_options): Make it so +append +extract +list +update
	+catenate and +delete don't take arguments.

Mon Mar 12 13:33:53 EST 1990

	* buffer.c (open_archive, fl_write) Set the mtime of the volume
	header to the current time.

Wed Mar  7 14:10:10 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	* buffer.c  Fix +compress-block  A two character patch from
	Juha Sarlin (juha@tds.kth.se)
		Replace #ifdef __GNU__ with #ifdef __STDC__
		(new_volume)  If open of new archive fails, ask again
				(Is probably user error.)

	* tar.c   Replace #ifdef __GNU__ with #ifdef __STDC__

	* port.c  Clean up #ifdef and #defines a bit.
		(quote_copy_string)  Sometimes the malloc'd buffer
				would be up to two characters too short.

	* extract.c (extract_archive) Don't declare ind static.

	* create.c (dump_file)  Don't declare index_offset static.

	* diffarch.c  Remove diff_name variable, and always use
	head->header.name, which will always work, unlike diff_name, which
	becomes trash when the next block is read in.

Thu Mar  1 13:43:30 EST 1990	Jay Fenlason (hack@wookumz.ai.mit.edu)

	* Makefile Mention the -NO_REMOTE option.
	* port.c Fix typo, and define WANT_FTRUNCATE on i386 machines.

Mon Feb 26 17:44:53 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)

	* getdate.y: Declare yylex and yyerror as static.
	#define yyparse to getdate_yyparse.

Sun Feb 25 20:47:23 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* tar.c: Remove +old option, since it is a valid abbreviation of
	+old-archive, which does the same thing.
	(describe): A few small cleanups in message.

Mon Feb  5 14:29:21 EST 1990	Jay Fenlason	(hack@wookumz)

	* port.c  define LOSING_MSG on sparc, since doprnt_msg doesn't work.
		  Fix typo in #ifdef WANT_GETWD

Fri Jan 26 16:11:20 EST 1990	Jay Fenlason	(hack@wookumz)

	1.08	Sparse file support added.  Also various other features.

	* diffarch.c (compare_chunk)  Include correct arguments in
	a call to fprintf() for an error msg.
	(compare_chunks, compare_dir)  First argument is a long, not an int.

	* tar.c (options)  Use tar variable (argv[0]) as the name to print
 	in an error msg, instead of a constant "tar".
	(confirm)  Use external variable char TTY_NAME[] for name of file
	to open for confirmation input.

	* buffer.c (new_volume)  Ditto.

	* port.c  Add declaration for TTY_NAME[].

	* rmt.h  Add long declarations for lseek() and __rmt_lseek();

Tue Jan 23 14:06:21 EST 1990	Jay Fenlason (hack@wookumz)
	* tar.c, create.c  Create the +newer-mtime option, which is like
	+newer, but only looks for files whose mtime is newer than the
	given date.

	* rtape_lib.c  Make *both* instances of signal-handler stuff use
	void (*foo)() on USG systems.

Thu Jan 11 14:03:45 EST 1990  Jay Fenlason  (hack@wookumz)

	* getdate.y  Parse European dates of the form YYMMDD.
	In ftime()  Init timezone by calling localtime(), and remember that
	timezone is in seconds, but we want timeb->timezone to be in minutes.
	This small patch from Joergen Haegg  (jh@aahas.se)

	* rtape_lib.c (__rmt_open)  Also look for /usr/bsd/rsh.
	Declare signal handler as returning void instead of int if USG is
	defined.

	* port.c Declare WANT_GETWD for SGI 4-D IRIS.

	* Makefile  Include defines for SGI 4D version.  There are a simple
	patch from Mike Muuss (mike@brl.mil).

	* buffer.c (fl_read)  Work properly on broken Ultrix systems where
	read() returns -1 with errno==ENOSPC on end of tape.  Correctly go
	on to the next volume if f_multivol.

	* list.c (list_archive,print_header)  Flush msg_file after printing
	messages.

	* port.c Delete unused references to alloca().
	Don't crash if malloc() returns zero in quote_copy_string.
	Flush stderr in msg() and msg_perror().

	* tar.c  Flush msg_file after printing confirmation msg.

Wed Jan 10 01:58:46 1990  David J. MacKenzie  (djm at hobbes.ai.mit.edu)

	* tar.c (main): Change -help option and references to it to +help,
	and remove suggestion to run info (which is unreleased, so not
	likely to be of any help).

Tue Jan  9 16:16:00 EST 1990	Jay Fenlason  (hack @wookumz)

	* create.c (dump_file)  Close file descriptor if start_header()
	fails.
		(dump_file)  Change test for ./ ness to not think that
	.{any character} is a ./  These are both trivial changes from
	Piercarlo "Peter" Grandi  pcg%cs.aber.ac.uk@nsfnet-relay.ac.uk

	* diffarch.c (diff_init)  Print correct number of bytes in error
	message.

Tue Jan  9 03:19:49 1990  David J. MacKenzie  (djm at hobbes.ai.mit.edu)

	* Makefile: Add comment at top noting that two source files also
	contain #defines that might need to be changed by hand.

	* create.c, diffarch.c, extract.c: Change L_SET to 0 in lseek
	calls, because only BSD defines it.
	* create.c (dump_file): Make sparse file checking code conditional
	on BSD42 because it uses st_blocks, which the other systems lack.

Tue Jan  2 13:35:56 EST 1990 Jay Fenlason (hack@gnu)

	* port.c (quote_copy_string)  Fix so it doesn't scramble memory if
	the last character is non-printable.  A trivial fix from Kian-Tat Lim
	(ktl@wag240.caltech.edu).

Tue Dec 19 11:19:37 1989  Jim Kingdon  (kingdon at pogo)

	* port.c [BSD42]: Define DOPRNT_MSG.
	tar.h [BSD42]: Do not prototype msg{,_perror}.

Fri Dec  8 11:02:47 EST 1989	Jay Fenlason (hack@gnu)

	* create.c (dump_file)  Remove typo in msg.

Fri Dec  1 19:26:47 1989  David J. MacKenzie  (djm at trix)

	* Makefile: Remove comments referring to certain systems lacking
	getopt, since it is now provided always and needed by all systems.

	* port.c: Remove copy of getopt.c, as it is now linked in
	separately to always get the current version.

	* tar.c: Rename +cat-tars option to +catenate or +concatenate, 
	and +local-filesystem to +one-file-system (preferred by rms
	and used in GNU cp for the same purpose).
	(describe): Reflect changes.

Tue Nov 28 04:28:26 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)

	* port.c: Move declaration of alloca into #else /* sparc */
	so it will compile on sparcs.

Mon Nov 27 15:17:08 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)

	* tar.c (options): Remove -version option (replaced by +version).
	(describe): Mention long options.

Sat Nov 25 04:25:23 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)

	* getoldopt.c (getoldopt): Make `opt_index' argument a pointer to
	an int, not char.

	* tar.c: Modify long options per rms's suggestions:
	Make preserve-permissions an alias for same-permissions.
	Make preserve-order an alias for same-order.
	Define preserve to mean both of those combined.
	Make old an alias for old-archive.
	Make portability an alias for old-archive, also.
	Rename sym-links to dereference.
	Rename gnudump to incremental.
	Rename filename to file.
	Make compare an alias for diff.  Leave diff but prefer compare.
	Rename blocking-factor to block-size.
	Rename chdir to directory.
	Make uncompress an alias for compress.
	Rename confirm to interactive.
	Make get an alias for extract.
	Rename volume-header to volume.

	Also make +version an alias for -version.

	(options): Shorten code that interprets long options by using
	the equivalent short options' code.  This also makes it tons
	easier to change the long options.

	(describe): Make usage message more internally consistent
	stylistically. 

Mon Nov 20 14:55:39 EST 1989	hack@ai.mit.edu

	* list.c (read_and)  Call check_exclude() to see if the files
	should be skipped on extract or list.

Thu Nov  9 18:59:32 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)

	* buffer.c (fl_read): Fix typos in error message
	"tar EOF not on block boundary".

Mon Oct 23 13:09:40 EDT 1989		(hack@ai.mit.edu)

	* tar.c (long_options[])  Add an option for blocked compression.

Thu Oct 19 13:38:16 EDT 1989		(hack@ai.mit.edu)

	* buffer.c (writeerror)  Print a more useful error msg.

Wed Sep 27 18:33:41 EDT 1989		(hack@ai.mit.edu)

	* tar.c (main)  Mention "tar -help" if the luser types a non-workable
	set of options.

Mon Sep 11 15:03:29 EDT 1989		(hack@ai.mit.edu)

	* tar.c (options)  Have -F correctly set info_script.

Tue Aug 29 12:58:06 EDT 1989		(hack@ai.mit.edu)

	* Makefile  Include ChangeLog in tar.tar and tar.tar.Z

Mon Aug 28 17:42:24 EDT 1989		(hack@ai.mit.edu)

	* tar.c (options) Made -F imply -M
	Also remind tar that the -f option takes an argument!

	* Modified -F option to make it do what (I think) it
	should.  e.g, if you say -F, tar won't send a msg to
	msg_file and wait for a <return> It'll just run the program
	it was given, and when the prog returns, the new tape had
	*better* be ready. . .

	* buffer.c (open_archive)  Give error message and abort if
	the luser didn't give an archive name.

Fri Aug 25 20:05:27 EDT 1989		Joy Kendall (jak at hobbes)

	* Added code to make a new option to run a specified script
	at the end of each tape in a multi-volume backup.  Changed:
	tar.c: made new switch, -F, and new long-named option,
	"info-script".  Code is where you would expect.
	tar.h: added flag f_run_script_at_end, and an extern char *
	called info_script, which optarg gets set to.
	buffer.c: line 1158 in new_volume(): if f_run_script_at_end
	is set, we give info_script to system(), otherwise we do
	what we've always done.  **FIXME** I'm not sure if that's all
	that has to be done here.

Thu Aug 24 10:09:38 EDT 1989		Joy Kendall (jak at spiff)
(These changes made over the course of 6/89 - 8/89)

	* diffarch.c: diff_archive: Added switches for LF_SPARSE in the
	case statements that needed it.  Also, skip any extended headers
	if we need to when we skip over a file.  (need to change
	the bit about, if the size doesn't agree AND the file is NOT
	sparse, then there's a discrepancy, because I added another
	field to the header which should be able to deal with the
	sizes)   If the file is sparse, call the added routine
	"diff_sparse_files" to compare.  Also added routine 
	"fill_in_sparse_array".

	* extract.c: extract_archive: added the switch LF_SPARSE
	to the case statement as needed, and code to treat the 
	sparse file.  At label "again_file", modified opening the
	file to see if we should have O_APPEND be one of the modes.
	Added code at label "extract_file" to call the new routine
 	"extract_sparse_file" when we have an LF_SPARSE flag.

	Note: really should erase the commented-out code in there,
	because it's confusing.

	* update.c: made sure that if a file needed to be "skipped" 
	over, it would check to see if the linkflag was sparse, and
	if so, would then make sure to skip over any "extended 
	headers" that might come after the header itself.  Do so by
	calling "skip_extended_headers".

	* create.c: create_archive: added code to detect a sparse
	file when in the long case statement.  Added ways to detect
	extended headers, and label "extend" (ack! should get rid of
	that, is atrocious).  Call the new routine "finish_sparse_file"
	if the linkflag is LF_SPARSE to write the info to the tape.
	Also added routines "init_sparsearray", "deal_with_sparse",
	"clear_buffer", "where_is_data", "zero_record", and 
	"find_new_file_size".

	* tar.h:  Added the #define's SPARSE_EXT_HDR and 
	SPARSE_IN_HDR.  Added the struct sparse and the struct
	sp_array.  Added the linkflag LF_SPARSE. Changed the tar
 	header in several ways:
		- added an array of struct sparse's SPARSE_IN_HDR long
		- added a char flag isextended
		- added a char string realsize to store the true
		size of a sparse file
	Added another choice to the union record called a
	struct extended_header, which is an array of 21 struct
	sparse's and a char isextended flag.  Added flag
	f_sparse_file to list of flags.

	* tar.c: added long-named options to make tar compatible with
	getopt_long, changed Makefile.

... ... .. ..:..:.. ... ....	Jay Fenlason (hack@ai.mit.edu)

	1.07	New version to go on beta tape with GCC 1.35
	Better USG support.  Also support for __builtin_alloca
	if we're compiling with GCC.
	diffarch.c: Include the correct header files so MTIOCTOP
	is defined.
	tar.c:  Don't print the verbose list of options unless
	given -help.  The list of options is *way* too long.

	1.06	Use STDC_MSG if __STDC__ defined
	ENXIO meand end-of-volume in archive (for the UNIX PC)
	Added break after volume-header case (line 440) extract.c
	Added patch from arnold@unix.cc.emory.edu to rtape_lib.c
	Added f_absolute_paths option.
	Deleted refereces to UN*X manual sections (dump(8), etc)
	Fixed to not core-dump on illegal options
	Modified msg_perror to call perror("") instead of perror(0)
	patch so -X - works
	Fixed tar.c so 'tar cf - -C dir' doesn't core-dump
	tar.c (name_match): Fixed to chdir() to the appropriate
	directory if the matching name's change_dir is set.  This
	makes tar xv -C foo {files} work.

	1.05	A fix to make confirm() work when the archive is on stdin
	include 'extern FILE *msg_file;' in pr_mkdir(), and fix
	tar.h to work with __STDC__

	Added to port.c: mkdir() ftruncate()  Removed: lstat()
	Fixed -G to work with -X
	Another fix to tar.texinfo
	Changed tar.c to say argv[0]":you must specify exactly ...
	buffer.c: modified child_open() to keep tar from hanging when
	it is done reading/writing a compressed archive
	added fflush(msg_file) before printing error messages
	create.c: fixed to make link_names non-absolute

	1.04	Added functions msg() and msg_perror()  Modified all the
	files to call them.  Also checked that all (I hope)
	calls to msg_perror() have a valid errno value
	(modified anno() to leave errno alone), etc
	Re-fixed the -X option.  This time for sure. . .
	re-modified the msg stuff.  flushed anno() completely
	Modified the directory stuff so it should work on sysV boxes
	added ftime() to getdate.y
	Fixed un_quote_string() so it won't wedge on \" Also fixed
	\ddd (like \123, etc)
	More fixes to tar.texinfo

	1.03	Fixed buffer.c so 'tar tzf NON_EXISTENT_FILE' returns an error
	message instead of hanging forever
	More fixes to tar.texinfo

	1.02	Fixed tar.c so 'tar -h' and 'tar -v' don't cause core dump
	Also fixed the 'usage' message to be more up-to-date.
	Fixed diffarch.c so verify should compile without MTIOCTOP
	defined

	1.01	Fixed typoes in tar.texinfo
	Fixed a bug in the #define for rmtcreat()
	Fixed the -X option to not call realloc() of 0.

	Version 1.00:  version.c added.  -version option added
	Installed new version of the remote-tape library
	Added -help option

Local Variables:
mode: indented-text
left-margin: 8
version-control: never
End:
