]> Dogcows Code - chaz/tar/commit
Fix incremental archiving of renamed directories.
authorSergey Poznyakoff <gray@gnu.org.ua>
Thu, 31 Jul 2008 07:12:50 +0000 (07:12 +0000)
committerSergey Poznyakoff <gray@gnu.org.ua>
Thu, 31 Jul 2008 07:12:50 +0000 (07:12 +0000)
commitdbbffde5835102b0cb1361c9f8dc716a38060d0d
tree8ea8d8425a03f2587555ce3faf147c3cf2065c53
parent1d79c6734cfbd302e53358760b4c3fe3e7b9be61
Fix incremental archiving of renamed directories.

* src/incremen.c (struct directory): New member `next'.  Change
type of `name'.
(dirhead, dirtail): New statics.
(make_directory): Reflect changes to struct directory.
(free_directory, attach_directory): New functions.
(dirlist_replace_prefix): New function.
(note_directory): Use attach_directory, instead of make_directory,
(find_directory, find_directory_meta): Use free_directory.
(procdir): Replace directory prefixes in directory list to avoid
marking subdirectories as renamed after renaming their parent
directory.
(append_incremental_renames): Iterate over directory list, not
hash table, to preserve logical ordering of renames.
* tests/rename04.at, tests/rename05.at: New test cases.
* tests/Makefile.am, tests/testsuite.at: Add rename04.at and
rename05.at.
* tests/atlocal.in (decho): New function.
* tests/multiv06.at: Use decho instead of echo2.
* tests/incremental.at: Raise wait interval to 2 seconds.
ChangeLog
src/incremen.c
tests/Makefile.am
tests/atlocal.in
tests/incremental.at
tests/multiv06.at
tests/rename04.at [new file with mode: 0644]
tests/rename05.at [new file with mode: 0644]
tests/testsuite.at
This page took 0.025735 seconds and 4 git commands to generate.