When checking for equality, open the slave file in text mode so it

will compare equal even if the master file uses only \n to terminate
lines (this is by far the most common situation).  Also, check for the
case where the master file is missing, and print the time difference
in seconds when the slave file appears newer than the master (for
debugging).
This commit is contained in:
Guido van Rossum 1997-11-04 17:35:43 +00:00
parent 19f44560f2
commit 79b2038aa4
1 changed files with 6 additions and 2 deletions

View File

@ -108,7 +108,7 @@ def process(slave, master):
def compare(slave, master):
try:
sf = open(slave, 'rb')
sf = open(slave, 'r')
except IOError:
sf = None
try:
@ -117,11 +117,14 @@ def compare(slave, master):
mf = None
if not sf:
if not mf:
print "Not updating missing master", master
print "Neither master nor slave exists", master
return
print "Creating missing slave", slave
copy(master, slave, answer=create_files)
return
if not mf:
print "Not updating missing master", master
return
if sf and mf:
if identical(sf, mf):
return
@ -136,6 +139,7 @@ def compare(slave, master):
copy(master, slave, answer=write_slave)
return
# Slave is newer -- copy slave to master
print "Slave is", sft-mft, "seconds newer than master"
# But first check what to do about CRLF
mf.seek(0)
fun = funnychars(mf)