- Default for
unpack
command is now to set default permissions for unpacked archive (previous default was to copy permissions stored in the archive - this behaviour is now available using the--copy-permission
option) and fixes bug where copied permissions could causeunpack
to fail (PR #69) - Update
archive
command to store entry for top-level subdirectories so that timestamps and permissions can be recovered byunpack
. Compressed archives created prior to this version do not have this information (essentially it is lost - note that timestamps and permissions for all other contents are stored and can be recovered) (PR #70)
- Bug fix for
archive
command when source directory doesn't have read-write permission for "user", ensure that resulting compressed archive directory does have read-write permission (PR #65) - Update
archive
command so that any unreadable content in source directory is treated as an unresolvable error (i.e. even when--force
is also specified), and no archive will be created (PR #67)
- Bug fix for
archive
command when a multi-subdir or multi-project has one or more empty top-level subdirs (would result in either invalid or missingtar.gz
archives for empty subdirs, so source run directory could not be completely recovered) (PR #62)
- Bug fix for
unpack
command when unpacking an archive with filenames that differ only by case (would incorrectly fail even when the destination file system was able to differentiate filenames differing only by case) (PR #60)
- Bug fix to prevent
extract
command attempting to extract the same files multiple times (PR #57) - Bug fix to handle non-standard compressed archive directory
names (i.e. not in
SOURCE.archive
format) when unpacking (PR #58)
- Additional metadata items stored for compressed and copy archive directories (include size of the soure directory and whether it included symlinks etc) (PR #53)
unpack
command checks if destination file system can support symlink creation and/or case-sensitive naming, if either of these are required to unpack a compressed archive (PR #54)info
command also reports on "unwriteable" files (i.e. files that the current user doesn't have write permissions for) (PR #55)
- Updated the command line help and documentation for the archiver subcommands (PR #45)
- Add unpacking information to the
ARCHIVE_README
files for compressed archive directories (PR #46) - Bug fix to copy verification for copy archive directories (PR #48)
- Add
ARCHIVE_TREE.txt
files to compressed archive directories (visual tree representation of the source directory contents) (PR #49) - Rename
ARCHIVE_README
files toARCHIVE_README.txt
(PR #50) - Add
ARCHIVE_FILELIST.txt
files to compressed archive directories (plain text lists of paths of the source directory contents) (PR #51)
- Add
ARCHIVE_README
files to compressed and copy archive directories (PR #43) - Add
source_date
as metadata item in compressed and copy archive directories (PR #42)
- Add trailing slash to directory paths in archive manifest files (to distinguish from regular files and links) (PR #40)
- Add new
CopyArchiveDirectory
class for identifying and handling copy archives, and update theinfo
,verify
andcompare
archiver commands to work with copy archives using this class (PR #38) verify_copy
method of theDirectory
class updated to allow specific paths to be excluded from the comparison (PR #37)- Update
manifest
files to include a header line (PR #36) - Update the compressed archive directory metadata structure to be consistent with copy archive directories (legacy compressed archives created with earlier versions can still be recognised) (PR #35)
- Add Zenodo badge to README file (PR #32)
- Update README to distinguish between "compressed archives" and "copy archives" (PR #33)
- Implement detection of file and directory names where case
sensitive is significant, and check that destination file
system can handle these names when performing
copy
(PR #30) - Add caching of some properties in the
Directory
class to improve efficiency when running some commands (PR #29)
- Fix bug in
Path
class when handling symbolic links to inaccesible files, and treat these as broken symlinks (PR #27)
- Fix minor formatting issues for stdout from
copy
command (PR #25) - Update
info
command to take multiple directories on the command line, and implement new--tsv
option to output information for each directory as a single tab-delimited line (PR #24) - Fix unit tests for
walk
method ofDirectory
class when handling dirlinks (were non-deterministic) (PR #23, PR #22)
- New
symlinks
method forDirectory
class (detects all symbolic links) (PR #16) - Add options to transform symlinks (
--replace-symlinks
,--transform-broken-symlinks
and--follow-dirlinks
) oncopy
command (PR #17) - Check if symlink creation is possible on target area for
copy
command before starting copy (PR #18) - Updates to detect and handle unresolvable symlinks (e.g. symlink
loops) for
copy
command andmake_copy
function (PR #19)
- Fix bug in
verify_copy
method of theDirectory
class when verifying symlinks (PR #14)
- Fix error with
os.lstat
not recognising thefollow_symlinks
argument (PR #11) archiver
returns error message and non-zero status if no sub-command is supplied on the command line (PR #12)
- Initial version.