···11+# go-gitdiff
22+33+A Go library for parsing and applying patches generated by `git diff`, `git
44+show`, and `git format-patch`.
55+66+## Why another diff parser?
77+88+Several libraries with similar functionality already exist, so why make
99+another?
1010+1111+1. No other libraries I found support binary diffs, as generated with the
1212+ `--binary` flag. This is the main reason for writing a new library.
1313+1414+2. Most other libraries only parse patches, so you need something else to apply
1515+ them (and if they do support applies, it is only for text files.)
1616+1717+3. The goal is to eventually accept anything that `git apply` accepts, based on
1818+ the code in [`apply.c`](https://github.com/git/git/blob/master/apply.c).
1919+2020+4. It seemed like a fun thing to write.