[New-bugs-announce] [issue42958] filecmp.cmp(shallow=True) isn't actually shallow when only mtime differs
report at bugs.python.org
Mon Jan 18 15:24:48 EST 2021
New submission from Alexander Vandenbulcke <alexander.vandenbulcke95 at gmail.com>:
Consider the case where 2 files are shallow compared where only the mtime differs (i.e. the mode and size is identical).
With filecmp.cmp(f1, f2, shallow=True) a deep compare would be performed behind the scenes since the guard clauses fell through. This discrepancy is either a problem in the docstring or a problem in the comparison itself.
Two options remain:
- the documentation is altered and describes that, in case only the mtime differs (i.e. mode and size are equal) a deep compare is performed
- the behaviour is restricted in that effectively only a shallow compare is performed
- a shallow compare becomes more restrictive (do not consider the mtime during the compare)
My preference is to adjust the function to safeguard the meaning of 'shallow' in this context.
components: Library (Lib)
title: filecmp.cmp(shallow=True) isn't actually shallow when only mtime differs
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce