Does not touch file if the source does need to be rewritten