now provide a more complex but useful diff record:
 - we can avoid error if diff binary files
 - we can know if these is a new file or a deletion
 - or if we change the mode (previledges)