Modify parser to support file descriptor instead of file name, Downloaded diff is now directly stored in memory instead of temporary file, simplify 404 error detection
Remove useless code