Merge pull request #1216 from ThomasWaldmann/read-special-follow-symlink

in --read-special mode, follow symlinks, fixes #1215
This commit is contained in:
enkore 2016-06-29 17:12:11 +02:00 committed by GitHub
commit 124265330f
1 changed files with 9 additions and 1 deletions

View File

@ -256,7 +256,15 @@ class Archiver:
return
try:
st = os.lstat(path)
# usually, do not follow symlinks (if we have a symlink, we want to
# backup it as such).
# but if we are in --read-special mode, we later process <path> as
# a regular file (we open and read the symlink target file's content).
# thus, in read_special mode, we also want to stat the symlink target
# file, for consistency. if we did not, we also have issues extracting
# this file, as it would be in the archive as a symlink, not as the
# target's file type (which could be e.g. a block device).
st = os.stat(path, follow_symlinks=read_special)
except OSError as e:
self.print_warning('%s: %s', path, e)
return