| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -16,10 +16,10 @@ def normalized_recursive_directory_iterator(path): | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            def create_map(name, L):
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                return map(lambda x: os.path.join(name, x), L)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            L = create_map(name, L)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            yield (os.path.relpath(name, path), name, st.st_mode, st.st_uid, st.st_gid, st.st_size)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            yield (os.path.relpath(name, path), name, st.st_mode, st.st_uid, st.st_gid, st.st_size, st.st_mtime)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            Q = chain(L, Q)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        else: # file
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            yield (os.path.relpath(name, path), name, st.st_mode, st.st_uid, st.st_gid, st.st_size)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            yield (os.path.relpath(name, path), name, st.st_mode, st.st_uid, st.st_gid, st.st_size, st.st_mtime)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        name = next(Q, None)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
 | 
		
		
	
	
		
			
				| 
				
				
				
					
				
				 | 
			
			 | 
			@@ -37,9 +37,9 @@ def _export_diff(mountpoint, origin_mountpoint, output_directory): | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    def emit_compare(m, o):
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if m[2] != o[2] or m[3] != o[3] or m[4] != o[4]:
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            print('Metadata change:', o[0])
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        elif m[5] != o[5] :
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        elif stat.S_ISREG(m[2]) and m[5] != o[5]:
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            print('Size change:', o[0])
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        elif stat.S_ISREG(m[2]) and filehash(m[1]) != filehash(o[1]):
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        elif stat.S_ISREG(m[2]) and m[6] != o[6] and filehash(m[1]) != filehash(o[1]):
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            print('Content change:', o[0])
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        else: # no change
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            pass # print('Compare:', m[0])
 | 
		
		
	
	
		
			
				| 
				
				
				
					
				
				 | 
			
			 | 
			@@ -59,6 +59,10 @@ def _export_diff(mountpoint, origin_mountpoint, output_directory): | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        elif m[0] > o[0]:
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            emit_removal(o)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            o = next(oit, None)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        elif stat.S_ISDIR(m[2]) != stat.S_ISDIR(o[2]):
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            emit_creation(m)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            m = next(mit, None)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            o = next(oit, None)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        else:
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            emit_compare(m, o)
 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            m = next(mit, None)
 | 
		
		
	
	
		
			
				| 
				
					
				
				
				
				 | 
			
			 | 
			
  |