Sergey Poznyakoff 19 years ago
parent
commit
35f5b48815
1 changed files with 49 additions and 0 deletions
  1. 49 0
      ChangeLog

+ 49 - 0
ChangeLog

@@ -1,3 +1,52 @@
+2005-11-07  Sergey Poznyakoff  <[email protected]>
+
+	Support for incremental formats in pax archives.
+	Fixed POSIX compatibility of `sparse' extended header keywords.
+	
+	* src/common.h (dumpdir_size,get_gnu_dumpdir)
+	(xheader_string_begin,xheader_string_add)
+	(xheader_string_end): New functions.
+	* src/create.c (dump_dir0): Handle incremental backups in pax
+	archives.
+	* src/incremen.c (dumpdir_size, get_gnu_dumpdir): New functions.
+	(purge_directory): Use stat_info.dumpdir instead of getting its
+	value explicitely.
+	* src/list.c (list_archive): Handle incremental backups in pax
+	format.
+	(decode_header): Initialize stat_info.dumpdir
+	* src/sparse.c (sparse_diff_file): Bugfix: set seekable.
+	(pax_dump_header): Store sparse map in GNU.sparse.map. If this
+	variable has been explicitely deleted, use GNU.sparse.offset/
+	GNU.sparse.numbytes variables.
+	* src/tar.c (decode_options): Incremental options are allowed with
+	--format=pax
+	(tar_stat_destroy): Free dumpdir
+	* src/tar.h (struct tar_stat_info.dumpdir): New member.
+	* src/xheader.c (xheader_keyword_deleted_p): Remove static
+	qualifier.
+	(struct xhdr_tab.decoder): Change prototype. POSIX allows string
+	values to contain embedded nulls, so take an extra argument
+	specifying the length of the string.
+	(decx,decg,dummy_decoder,atime_decoder,gid_decoder)
+	(gname_decoder,linkpath_decoder,ctime_decoder,mtime_decoder)
+	(path_decoder,size_decoder,uid_decoder,uname_decoder)
+	(sparse_size_decoder,sparse_numblocks_decoder)
+	(sparse_offset_decoder,sparse_numbytes_decoder): Likewise.
+	(decode_record): Pass value length to the handler
+	(run_override_list): Pass value length to the decoder
+	(xheader_print_n): New function
+	(xheader_print): Rewritten using xheader_print_n
+	(xheader_finish): Do not rely om strlen to compute the length of
+	the collected string: it can contain embedded nulls
+	(xheader_string_begin,xheader_string_add,xheader_string_end): New
+	functions. 
+	(sparse_map_decoder,dumpdir_coder,dumpdir_decoder): New
+	functions. Handle GNU.sparse.map and GNU.dumpdir variables.
+	(xhdr_tab): Add new variables.
+
+	* tests/incr01.at: Test gnu, oldgnu, and posix formats
+	* tests/incremental.at: Likewise
+	
 2005-11-06  Paul Eggert  <[email protected]>
 
 	* src/xheader.c (strtoimax, strtoumax): Remove decls; now done