|
Create a patch file for the suggestion. Instead of building the patch
text manually, as in my earlier attempts (`patch` and `unified_diff`),
apply the patch to the file in memory, and then ask libgit2 to give us a
Git patch by comparing the original blob and the patched buffer.
Doing this because I was unsuccessful in manually composing a patch file
that Git would accept. I could create unified diffs that the `patch`
program would accept, but these wouldn't work with `git-apply`. My
current guess is that these didn't work because I didn't have both
before and after context in my manually-created patch files.
Since this tool is intended to be used with Git, I want a patch file
that will work transparently with Git utilities. The easiest alternative
to manually generating the patch file seemed to be to have Git create
the patch text.
Add a new binary, `git-sugpatch`, that outputs the patch text to
standard output.
TODO: This gets the original from the current HEAD in `apply_to()`. We
should instead be using the contents of `blob`, because the original is
not necessarily the working copy.
|