cmpcache
 

# Module 'cmpcache'
#
# Efficiently compare files, boolean outcome only (equal / not equal).
#
# Tricks (used in this order):
#       - Use the statcache module to avoid statting files more than once
#       - Files with identical type, size & mtime are assumed to be clones
#       - Files with different type or size cannot be identical
#       - We keep a cache of outcomes of earlier comparisons
#       - We don't fork a process to run 'cmp' but read the files ourselves


 Modules
                                                                                                                                                                                                                               
os
statcache


 Functions
                                                                                                                                                                                                                               
cmp(f1, f2)
# Compare two files, use the cache if possible.
# May raise os.error if a stat or open of either fails. #
do_cmp(f1, f2)
# Compare two files, really. #
sig(st)
# Return signature (i.e., type, size, mtime) from raw stat data. #