I noticed that when using dry_run, all files are always printed as if they would be changed. Looking at the code briefly, it does seem like this is what happens.