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).
diff --git a/Tools/scripts/treesync.py b/Tools/scripts/treesync.py
index f039385..26c3cd5 100755
--- a/Tools/scripts/treesync.py
+++ b/Tools/scripts/treesync.py
@@ -108,7 +108,7 @@
 
 def compare(slave, master):
     try:
-	sf = open(slave, 'rb')
+	sf = open(slave, 'r')
     except IOError:
 	sf = None
     try:
@@ -117,11 +117,14 @@
 	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 @@
 	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)