fix unarchive doesn't extract changed tar file #3901

This commit is contained in:
neo 2016-06-10 17:35:08 -04:00 committed by Matt Clay
parent b5820c7398
commit 07c8804486

View file

@ -132,6 +132,7 @@ import subprocess
OWNER_DIFF_RE = re.compile(r': Uid differs$') OWNER_DIFF_RE = re.compile(r': Uid differs$')
GROUP_DIFF_RE = re.compile(r': Gid differs$') GROUP_DIFF_RE = re.compile(r': Gid differs$')
MODE_DIFF_RE = re.compile(r': Mode differs$') MODE_DIFF_RE = re.compile(r': Mode differs$')
MOD_TIME_DIFF_RE = re.compile(r': Mod time differs$')
#NEWER_DIFF_RE = re.compile(r' is newer or same age.$') #NEWER_DIFF_RE = re.compile(r' is newer or same age.$')
MISSING_FILE_RE = re.compile(r': Warning: Cannot stat: No such file or directory$') MISSING_FILE_RE = re.compile(r': Warning: Cannot stat: No such file or directory$')
ZIP_FILE_MODE_RE = re.compile(r'([r-][w-][stx-]){3}') ZIP_FILE_MODE_RE = re.compile(r'([r-][w-][stx-]){3}')
@ -598,6 +599,8 @@ class TgzArchive(object):
out += line + '\n' out += line + '\n'
if not self.file_args['mode'] and MODE_DIFF_RE.search(line): if not self.file_args['mode'] and MODE_DIFF_RE.search(line):
out += line + '\n' out += line + '\n'
if MOD_TIME_DIFF_RE.search(line):
out += line + '\n'
if MISSING_FILE_RE.search(line): if MISSING_FILE_RE.search(line):
out += line + '\n' out += line + '\n'
if out: if out: