don't write to disk with --stdout, fixes #2645

if we always give stdout to extract_item(), it gets into the stdout-
processing branch which only emits data from items that have chunks
and does nothing for items which don't.

(cherry picked from commit 0b00c14c27)
This commit is contained in:
Thomas Waldmann 2017-06-13 01:12:14 +02:00
parent 7846ef2e69
commit 34a821178f
1 changed files with 2 additions and 2 deletions

View File

@ -486,7 +486,7 @@ class Archiver:
else:
if stat.S_ISDIR(item[b'mode']):
dirs.append(item)
archive.extract_item(item, restore_attrs=False)
archive.extract_item(item, stdout=stdout, restore_attrs=False)
else:
archive.extract_item(item, stdout=stdout, sparse=sparse)
except BackupOSError as e:
@ -496,7 +496,7 @@ class Archiver:
while dirs:
dir_item = dirs.pop(-1)
try:
archive.extract_item(dir_item)
archive.extract_item(dir_item, stdout=stdout)
except BackupOSError as e:
self.print_warning('%s: %s', remove_surrogates(dir_item[b'path']), e)
for pattern in include_patterns: