Merge pull request #14416 from bcoca/diff_size_fix
read full file when doing diff
This commit is contained in:
commit
64c976a6c3
1 changed files with 13 additions and 12 deletions
|
@ -600,20 +600,21 @@ class ActionBase(with_metaclass(ABCMeta, object)):
|
||||||
diff['before'] = dest_contents
|
diff['before'] = dest_contents
|
||||||
|
|
||||||
if source_file:
|
if source_file:
|
||||||
display.debug("Reading local copy of the file %s" % source)
|
st = os.stat(source)
|
||||||
try:
|
if st[stat.ST_SIZE] > C.MAX_FILE_SIZE_FOR_DIFF:
|
||||||
src = open(source)
|
|
||||||
src_contents = src.read(8192)
|
|
||||||
st = os.stat(source)
|
|
||||||
except Exception as e:
|
|
||||||
raise AnsibleError("Unexpected error while reading source (%s) for diff: %s " % (source, str(e)))
|
|
||||||
if "\x00" in src_contents:
|
|
||||||
diff['src_binary'] = 1
|
|
||||||
elif st[stat.ST_SIZE] > C.MAX_FILE_SIZE_FOR_DIFF:
|
|
||||||
diff['src_larger'] = C.MAX_FILE_SIZE_FOR_DIFF
|
diff['src_larger'] = C.MAX_FILE_SIZE_FOR_DIFF
|
||||||
else:
|
else:
|
||||||
diff['after_header'] = source
|
display.debug("Reading local copy of the file %s" % source)
|
||||||
diff['after'] = src_contents
|
try:
|
||||||
|
src = open(source)
|
||||||
|
src_contents = src.read()
|
||||||
|
except Exception as e:
|
||||||
|
raise AnsibleError("Unexpected error while reading source (%s) for diff: %s " % (source, str(e)))
|
||||||
|
if "\x00" in src_contents:
|
||||||
|
diff['src_binary'] = 1
|
||||||
|
else:
|
||||||
|
diff['after_header'] = source
|
||||||
|
diff['after'] = src_contents
|
||||||
else:
|
else:
|
||||||
display.debug("source of file passed in")
|
display.debug("source of file passed in")
|
||||||
diff['after_header'] = 'dynamically generated'
|
diff['after_header'] = 'dynamically generated'
|
||||||
|
|
Loading…
Reference in a new issue