Apply applies the patch set to the files named in the patch set, constructing an in-memory copy of the new file state. It is the client's job to write the changes to the file system if desired. The function readFile should return the contents of the named file. Typically this function will be io.Re
(readFile func(string) ([]byte, error))